WEB开发网
开发学院软件开发VC 学生考试管理系统ADO版 阅读

学生考试管理系统ADO版

 2008-04-19 20:27:52 来源:WEB开发网   
核心提示:2.关于考试过程的编码主要是依靠几个类来实现:* CExam 考试类 用于考试的信息登记* CExamClass 考试班级类* CExamStudent 考试学生类* CExamSubject 考试科目类他们都聚合了一个数据集TADOStorage,然后通过数据集完成考试信息的记录,计算:class CExam : p

2.关于考试过程的编码

主要是依靠几个类来实现:

* CExam 考试类 用于考试的信息登记

* CExamClass 考试班级类

* CExamStudent 考试学生类

* CExamSubject 考试科目类

他们都聚合了一个数据集TADOStorage,然后通过数据集完成考试信息的记录,计算:

class CExam : public CObject
{
public:
  CExam();
  virtual ~CExam();
  
  CString   m_No;   //考试编号
  COleDateTime m_Date;   //考试日期
  CString   m_TermNo; //学期编号
  CStringList& GetTerms();
  CStringList* GetNos();
protected:
  CADOStorage m_Storage;//数据库连接
  CString   m_TblName;  //表名称
private:
  CStringList m_TermList;//学期列表
  CStringList m_NoList; //编号列表
public:
  void ClearTermList(void);
  void ClearNoList(void);
  void GetExamByNo(CString No);//获取考试信息
  bool IsNoExisted(CString No);//编号是否存在
  void AddExam();
  void DeleteExamByNo(CString No);
};

(1)、在文档类中申明CExam m_Exam.添加记录

void CExamView::OnBnClickedButton2()
{
  CEdit* pEdit=(CEdit*) this->GetDlgItem(IDC_EDIT1);
  CString ExamNo;
  pEdit->GetWindowText(ExamNo);
  CExamDoc* pDoc=this->GetDocument();
  if(pDoc->m_Exam.IsNoExisted(ExamNo))
  {
    AfxMessageBox("不能添加重复记录!");
    return;
  }
  else
  {
    //添加记录
    pDoc->m_Exam.m_No=ExamNo;
    CDateTimeCtrl* pPicker=
     (CDateTimeCtrl*)this->GetDlgItem(IDC_DATETIMEPICKER1);
    pPicker->GetTime(pDoc->m_Exam.m_Date);
   
    CComboBox* pComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
    pComb->GetLBText(pComb->GetCurSel(),pDoc->m_Exam.m_TermNo);
    pDoc->m_Exam.AddExam();
  }
}  

(2)、然后看: pDoc->m_Exam.AddExam();

void CExam::AddExam()
{
  CString FldList,ValueList;
  FldList="考试编号,考试日期,学期编号";
  ValueList="''''"+this->m_No+"'''',''''"+this->m_Date.Format()+"'''',''''"+this->m_TermNo+"''''";
  this->m_Storage.ExecInsertSql(this->m_TblName,FldList,ValueList);
}   

这是一个与数据库交互的过程。

其它类的处理过程类似,就是对数据库表的操作用类来封装,去执行。当然怎么做可能有一些不妥之处,如一个类包含一个数据集,可能占有存储空间比较大,对象如果进行拷贝复制的话 ,有可能占有系统的存储空间;所以有的人建议把对数据库的操作让一个代理类去实现,当然各有优缺点,这也是对OR Map争论比较多的一个问题,感觉java Bean实体在这方面做的更好一些。我编程的时间也不算太长,考虑上的深度不够和自己的水平有限,当然还有很多不足之处,甚至BUGS,当然,希望大家多提出批评意见。

上一页  1 2 3 4 

Tags:学生 考试 管理系统

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接