用MFC做的一个学生信息管理系统,有增加、删除、排序、筛选功能,系统通过ODBC方式连接数据库。由于文库不支持RAR,故需要完整的程序以及数据库可以联系俺,希望对大家有帮助。下面是简单的报告:C++程序设计报告设计题目:学生信息管理系统班级:姓名:学号:指导教师:时间:2011年12月13日-2-目录1.设计目标……………………………………………………………2.设计内容……………………………………………………………3.设计思想……………………………………………………………4.设计说明……………………………………………………………5.设计步骤……………………………………………………………6.软件演示……………………………………………………………7.感想总结……………………………………………………………-3-学生信息管理系统(MFC)1.设计目标了解Windows应用程序的结构与DOS程序的不同,掌握应用MFC类库编写Windows应用程序的基本模式与用ODBC方式访问数据库。2.设计内容以学生信息管理系统为例,通过对简单应用软件系统的设计,编制、调试,实现简单的增加、删除、排序等运算,以学习应用MFC库类编写对话框的原理,加深对C++类的学习及应用。3.设计思想基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现相关功能。生成简单的应用软件。4.设计说明(1)包含的功能有:查看、增加、删除、排序、筛选等功能。(2)通过access创建数据库并通过OD方式访问数据库。(3)编辑界面上的不同按钮,创建消息映射,以完成相关的各种操作。5.设计步骤1、创建数据库:打开access,并创建一个新表“student”,输入相关内容,选择类型。并创建主键后。完成后保存。-4-2、添加ODBC数据源打开“ODBC数据源管理器”-5-添加选择-6--7-3、在MFC中创建相关按键并设置好属性及ID-8-ID标题IDC_EDIT_XH学号对应的编辑框IDC_EDIT_XM姓名对应的编辑框IDC_EDIT_XB性别对应的编辑框IDC_EDIT_BJ班级对应的编辑框IDC_BUTTON_ADD“添加”IDC_BUTTON_DEL“删除“IDC_BUTTON_PX“排序”IDC_BUTTON_SX“筛选“为每个编辑框控件绑定数据源字段:选定一个编辑框控件,右键|建立类向导|成员变量标签|classname列表下选CmySet(数据库的结果集)。先将Member中不好记的值通过“DeleteVariable”删除,再“AddVairiables”添加,改为自己好记的的名字-9-将编辑框(在CmyView视图类中)与上述变量绑定:AddVariable…然后选而不是输入。完成以上的操作后,编译,运行现在为下面的功能键的实现进行操作增加新的对话框(窗体)及创建类成员-10-在查询或过滤记录时,需要一个对话框,用于添加信息,增加对话框的方法:VC主菜单,“插入”|“资源”|“对话框(Dialog)类型”|放一个“分组框控件”,标题为“添加信息”|在分组框内按图设置好哥编辑框和按钮:建立类向导,按图分配好成员变量并绑定好-11-为其中的“确定”按钮,添加代码:voidCDlgADD::OnOK(){//TODO:AddextravalidationhereUpdateData();if(m_XH==0||m_XM==||m_XB==||m_BJ==){MessageBox(请完整输入数据);return;}CDialog::OnOK();}同理,添加查询条件的对话框:-12-添加功能键的代码:双击向导中的“IDD_MY_FORM”,-13-双击主界面的“添加”按钮voidCMyView::OnButtonAdd()//增加{//TODO:AddyourcontrolnotificationhandlercodehereCDlgADDDlgAdd;if(DlgAdd.DoModal()==IDOK){m_pSet-AddNew();m_pSet-m_XH=DlgAdd.m_XH;m_pSet-m_XM=DlgAdd.m_XM;m_pSet-m_XB=DlgAdd.m_XB;m_pSet-m_BJ=DlgAdd.m_BJ;m_pSet-Update();//更新记录集m_pSet-Requery();//重新提取数据m_pSet-MoveLast();//移动下一条记录UpdateData(FALSE);//更新视图}}此时需要在“学生信息管理系统View.cpp”中添加头文件“#includeDlgADD.h”删除键代码:voidCMyView::OnButtonDel()-14-{//TODO:Addyourcontrolnotificationhandlercodeherem_pSet-Delete();m_pSet-MoveNext();if(m_pSet-IsEOF())m_pSet-MoveLast();if(m_pSet-IsBOF())m_pSet-SetFieldNull(NULL);UpdateData(FALSE);}“排序”按钮代码voidCMyView::OnButtonPx(){//TODO:Addyourcontrolnotificationhandlercodeherem_pSet-m_strSort=学号;m_pSet-Requery();UpdateData(FALSE);}“”向前查询键代码:voidCMyView::OnBUTTONpre(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(FALSE);m_pSet-MovePrev();}“”向后查询键代码:voidCMyView::OnBUTTONnext(){//TODO:Addyourcontrolnotificationhandlercodeherem_pSet-MoveNext();UpdateData(FALSE);}“筛选”按钮代码:voidCMyView::OnButtonSx(){//TODO:AddyourcontrolnotificationhandlercodehereCDlgQueryDlgquery;CStringvalue;if(Dlgquery.DoModal()==IDOK){-15-value=学号=+Dlgquery.m_query+;m_pSet-m_strFilter=value;m_pSet-Requery();UpdateData(FALSE);}}同样,在这个代码文件头包含头文件“#includeDlgQuery.h”:完成六、软件演示编译、运行:-16--17-添加功能:添加成功:-18-删除操作:(删除对象为测试对象,即上输入的对象)筛选功能:-19--20-7、感想总结本次课程设计是用MFC做的,在这之前并没有系统的学习MFC也没有接触过,故在得知课题时,确实感到头大。但是为了完成这个课题,在图书馆和网上找了些资料,自己开始研究探索。开始在网上找到相关的课程设计资料,并对照这课本进行分析,然后自己开始着手进行自己的设计。当然一开始并不会很顺利,但是自己还是坚持一步步探索下来,终于完成了自己的小设计,虽然这个设计做的并不是很好,功能也不强大,但始终是自己一步一步一步设计,代码是自己一个一个键敲出来的,所以不管结果,我能说我确实学到些东西了!