基于VC++的学生信息管理系统课设报告.doc

上传人:灯火****19 文档编号:137558079 上传时间:2020-07-09 格式:DOC 页数:41 大小:353.50KB
返回 下载 相关 举报
基于VC++的学生信息管理系统课设报告.doc_第1页
第1页 / 共41页
基于VC++的学生信息管理系统课设报告.doc_第2页
第2页 / 共41页
基于VC++的学生信息管理系统课设报告.doc_第3页
第3页 / 共41页
基于VC++的学生信息管理系统课设报告.doc_第4页
第4页 / 共41页
基于VC++的学生信息管理系统课设报告.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《基于VC++的学生信息管理系统课设报告.doc》由会员分享,可在线阅读,更多相关《基于VC++的学生信息管理系统课设报告.doc(41页珍藏版)》请在金锄头文库上搜索。

1、1 绪论 随着信息技术在管理上越来越深入而广泛地应用,管理信息系统的实施在技术上已经逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机的组织起来,就必须建立与自身特点相适应的管理信息系统。 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量学要有信息管理系统来提高学生信息管理系统的效率。通过这样的系统可以做到信息的规范管理,科学统计和快速查询,修改,添加,删除等,从而减少管理方面的工作量。本次课程设计的学生管理系统主要用于学校学生信息管理,其主要任务是用计算机对学生各种信息进行日常管理,如添加,修改,删除,

2、查询和排序等等。根据这些要求我通过在Visual C+6.0的环境下进行系统的设计,数据库设计,窗口及相应的程序设计来完成设计学生管理系统。2 系统设计用SQL Sever 2008设计学生信息数据库,数据库表项中包括学号,姓名,年龄,性别,出生年月,地址,电话,E-mail。连接数据库,编写VC+程序,实现以下功能:(1)学生信息的录入功能(2)学生信息的浏览功能(3)学生信息的查询功能(可以按学号,姓名进行查询)(4)学生信息的排序(可以按学号,姓名进行排序)(5)学生信息的删除和修改功能系统结构图如图1: 图1 系统结构图说明:在主窗口可以直接排序、删除和浏览。查询条件、修改信息和添加信

3、息都需要在弹出的模态对话框中输入,在主窗口显示。实现功能总程序流程图如图2:图2 程序流程图流程图说明:首先进行初始化,进入主窗口,在主窗口有进入各种操作的按钮,判断是什么功能的按钮按下,进入相应功能。若是删除、排序或者浏览按钮,则直接在主窗口显示相应的结果;若是添加按钮被按下,则弹出对话框,在对话框中输入要添加的学生的信息,确定后保存;若是修改按钮被按下,则弹出对话框,在对话框中填写修改后希望保存的信息,确定后保存修改;若是查询按钮被按下,弹出对话框,输入查询条件,确认后在主窗口显示信息。3 重要函数(1)DoModal()返回值:如果函数成功则返回IDOK或IDCANCEL;否则返回0或-

4、1。如果此属性表是作为一个向导建立的,DoModal返回ID_WIZFINISH或IDCANCEL。此成员函数用来显示一个模态对话框。其返回值对应于用来关闭对话框的控件的ID。此函数返回后,Windows响应这个对话框,所有的属性页都会被销毁。而这些对象本身仍然存在。通常,你将在DoModal返回IDOK之后CPropertyPage对象检取数据。(2)数据库操作函数操作数据库时常用的一个类叫CRecordset。它封装了很多属性和操作,用来操作数据库,常用的有数据成员如下:m_strFilter:它包含的字符串相当于SQL语句中的where子句,可以用它作为一个过滤器只选择那些符合标准的记录

5、m_strSort:它包含的字符串相当于SQL语句中的order by子句,用来控制记录集的排序方式。这些数据成员可以在Open()或Query()函数之前指定。常用的函数:Open():打开数据集;Close():关闭数据集;IsOpen():判断数据集是否已经打开,返回非零值如果记录集对象已经调用过Open()或Query()函数但是记录集没有被关闭,否则返回0;IsBOF():返回非零值如果记录集已经指向第一个记录集之前;IsEOF():返回非零值如果记录集已经指向最后一个记录集的后面;AddNew():准备向记录集中添加一条新纪录。完成以后必须调用Update函数完成添加工作(即添加到

6、数据库中);Delete():从记录集中删除当前记录;Edit():准备修改当前记录。完成后必须调用Update函数完成修改;Update():完成AddNew()或Edit()的操作,他保存添加的新的记录或修改过的记录到数据库中;Move():移动当前记录到指定的位置;MoveFirst():移动当前记录到记录集的第一个记录;MoveLast():移动当前记录到记录集的最后一个记录;MoveNext():移动当前记录到该记录的下一个记录;MovePrev():移动当前记录到该记录的上一个记录。(3)MessageBox()显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于

7、应用程序消息,如状态或错误的信息。消息框中返回一个整数值,该值指示用户单击了哪个按钮。(4)Format()Format()是CString类的一个成员函数,它通过格式操作使任意类型的数据转换成一个字符串。(5)IsEmpty()IsEmpty() 函数 返回Boolean值,指出变量是否已经初始化。语法IsEmpty(expression)必要的expression参数是一个Variant,包含一个数值或字符串表达式。但是,因为 IsEmpty 被用来确定个别变量是否已初始化,所以 expression 参数通常是单一变量名。说明如果变量未初始化或已明确设置为Empty,则IsEmpty返回

8、True;否则返回False。如果 expression 含有多个变量,则 IsEmpty 总是返回 False。IsEmpty 只返回对 variant表达式有意义的信息。(6)UpdateData()UpdateData(TRUE)刷新控件的值到对应的变量。(外部输入值交给内部变量)即:控件的值变量。UpdateData(FALSE) 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)即:变量值控件显示。(7)CRecordset类有两个公共数据成员m_strFilter和m_strSort用来设置对记录的过滤和排序在调用Open或Requery前,如果在这两个数据成员中指定了

9、过滤或排序,那么Open和Requery将按这两个数据成员指定的过滤和排序来查询数据源成员m_strFilter用于指定过滤器m_strFilter实际上包含了SQL的WHERE子句的内容,但它不含WHERE关键字成员m_strSort用于指定排序m_strSort实际上包含了ORDER BY子句的内容,但它不含ORDER BY关键字调用无参数成员函数Close可以关闭记录集在调用了Close函数后,程序可以再次调用Open建立新的记录集CRecordset的析构函数会调用Close函数,所以当删除CRecordset对象时记录集也随之关闭。4 详细设计4.1 数据库设计 根据任务要求设计数据

10、库,设计表如图3:图3 数据库设计4.2 窗口设计和添加程序(1) 添加对话框设计如图4: 图4添加对话框添加信息流程图如图5: 图5添加信息流程图添加程序:void CYEXIAOYU3View:Ontianjia() / TODO: Add your control notification handler code here CTianjia cadd;if(cadd.DoModal()=IDOK)/当cadd.DoModal()后,显示一个模态对话框,此时DoModal()函数并不返回,直到用户关闭此对话框时,DoModal才返回。/如果用户点击了确定按钮,那么DoModal()函数就

11、返回IDOK。IDOK是一个宏。直到用户调用DoModal(),对话框才会显示出来。m_pSet-AddNew();m_pSet-m_xueh=cadd.m_xueh;m_pSet-m_xingm=cadd.m_xingm;m_pSet-m_xingb=cadd.m_xingb;m_pSet-m_nianl=cadd.m_nianl;m_pSet-m_chus=cadd.m_chus;m_pSet-m_diz=cadd.m_diz;m_pSet-m_dianh=cadd.m_dianh;m_pSet-m_email=cadd.m_email;m_pSet-Update();/将做的增删改操作更

12、新到数据库中m_pSet-Requery();/重新查询记录集m_pSet-MoveNext();UpdateData(FALSE);(2)删除操作中当所有数据都被删除时对话框显示如图6: 图6执行删除时对话框删除操作流程图如图7: 图7删除操作流程图删除程序:void CYEXIAOYU3View:Onshanchu() / TODO: Add your control notification handler code herem_pSet-Delete();m_pSet-MoveNext();if(m_pSet-IsEOF()m_pSet-MoveLast();if(m_pSet-IsB

13、OF()m_pSet-SetFieldNull(NULL);UpdateData(FALSE);(3) 修改对话框设计如图8: 图8修改对话框修改操作流程图如图9: 图9修改操作流程图修改程序:void CYEXIAOYU3View:Onxiugai() / TODO: Add your control notification handler code here CXiugai cm;if(cm.DoModal()=IDOK)m_pSet-Edit();m_pSet-m_xueh=cm.m_xueh;m_pSet-m_xingm=cm.m_xingm;m_pSet-m_xingb=cm.m_xingb;m_pSet-m_nianl=cm.m_nianl; m_pSet-m_chus=cm.m_chus;m_pSet-m_diz=cm.m_diz;m_pSet-m_dianh=cm.m_dianh;m_pSet-m_email=cm.m_email;m_pSet-Update();/将做的修改操作更新到数据库中m_pSet-Requery();/重新查询记录集UpdateData

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号