《课程设计之简易学生管理系统设计.doc》由会员分享,可在线阅读,更多相关《课程设计之简易学生管理系统设计.doc(20页珍藏版)》请在三一办公上搜索。
1、中北大学课 程 设 计 说 明 书学生姓名: 学 号: 学 院: 信息与通信工程学院 专 业: 电子信息工程 题 目:专业基本技能实践: 简易学生管理系统设计 指导教师: 职称: 副教授 讲师 2013 年 1 月 10 日中北大学课程设计任务书 12/13 学年第 一 学期学 院: 信息与通信工程学院 专 业: 电子信息工程 学 生 姓 名: 学 号: 学 生 姓 名: 学 号: 学 生 姓 名: 学 号: 课程设计题目:专业基本技能实践: 简易学生管理系统设计 起 迄 日 期: 课程设计地点: 指 导 教 师: 系 主 任: 下达任务书日期: 2012 年12 月 24日课 程 设 计 任
2、 务 书1设计目的:数据库操作对于工程中有很重要的应用价值。本课题要求同学在熟练掌握VC下有关数据库编程的基础上,实现一个简易的学生管理系统,能够实现浏览、添加、删除及修改等基本功能。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):功能要求:1、 学习VC有关数据库编程的方法。2、 利用ACCESS实现底层数据库的建立。3、 利用ADO将数据库与VC进行连接。4、利用VC实现前台界面的设计工作,并实现有关浏览、添加、删除及修改等基本功能。5、三位同学各自实现不同分工。3设计工作任务及工作量的要求包括课程设计计算说明书(论文)、图纸、实物样品等:(1) 要求设计组的每个成员都要了解
3、设计的要求和思路;(2) 编写详细的设计说明书一份;(3)要求有正确的运行结果及结果分析。课 程 设 计 任 务 书4主要参考文献:1 赵三林.大学计算机应用基础.北京:高等教育出版社,20102 王华, 叶爱亮, 祁立学等. Visual C+ 6.0 编程实例与技巧. 北京:机械工业出版社, 19993 李光明. Visual C+ 6.0 经典实例大制作. 北京:中国人事出版社,2000.4严华峰. Visual C+ 课程设计案例精编. 北京:中国水利水电出版社,2002. 5官章全, 刘加明. Visual C+ 6.0 类库大全. 北京:电子工业出版社,1999. 6张荣梅,梁晓林
4、. Visual C+实用教程. 北京:冶金工业出版社,2004. 5设计成果形式及要求:课程设计说明书运行结果6工作计划及进度:2012年12月24日 12月28日: 学习VC有关编程方法;12月29日 2013年1月8 日: 在指导教师指导下实现程序设计;2013年1月9日 1月10日: 撰写课程设计说明书; 1月11日:答辩系主任审查意见: 签字: 年 月 日目录1.设计目的及简介.12.数据库设计.12.1概念设计.12.2逻辑设计和物理结构设计.22.3 数据库的输入.22.4定义ODBC的数据源.23. 程序设计.43.1工程建立.43.2信息查询.63.3添加操作.83.4修改操
5、作.93.5删除操作.103.6浏览操作.124.调试报告.145.心得体会.146.参考文献14简易学生管理系统1.设计目的及简介管理信息系统MIS(Management Information System),在强调管理,强调信息的现代社会中越来越得到普及,如:人事管理、学生管理系统、工资管理系统等。常用的MIS系统都是基于数据库操作,实现信息的查询、增加、删除、修改等。学生成绩管理系统是用AECESS数据库进行数据库的设计和添加数据,在设置数据源(ODBC)建立数据库与程序的连接后,利用VC开发可视化界面完成基于数据库的操作,实现学生信息的查询、增加、删除、修改。采用ADO(Active
6、X Data Object) 连接实现学生基本信息的浏览。从而实现学生成绩信息的多方位显示,方便管理者对学生成绩的管理。2. 数据库设计2.1概念设计根据设计要求,要对学生信息进行操作,所以系统实体主要为学生基本信息表。学生基本信息包括姓名、学号、性别、年龄、系别,由此可得到该系统的E-R关系图:学生系别学号年龄姓名性别图12.2逻辑设计和物理结构设计根据概念设计中的E-R图,可设计学生基本信息表,其关系模型如下:学生基本信息表:学号,姓名,性别,年龄,系别。在ACCESS中定义表的物理结构如下:图22.3 数据库的输入在ACCESS中定义好物理结构后就可以输入数据。学生基本信息表的输入内容如
7、下:图32.4 定义ODBC的数据源 建立了数据库之后,必须配备 ODBC 数据源,使其指向刚刚建立的数据库。如果操作系统是Windows 2000/XP,则运行控制面板中【管理工具】下的【数据源ODBC 】 双击ODBC 图标,进入ODBC 数据源管理器。在这里用户可以设置ODBC 数据源的一些信息,其中的【用户 DSN 】选项卡中可以让用户定义的在本地计算机使用的数据源名(DSN) ,如图所示。图4定义用户DNS 的步骤如下:(1) 单击【添加】按钮,弹出【创建新数据源】对话框,如图所示:图5(2) 为新的数据源选择数据库驱动程序。由于使用的是Access 数据库,所以选择Microsof
8、t Access Driver ,并单击【完成】按钮。(3) 在如图所示的【ODBC Microsoft Access安装】对话框中,为该数据源起一个简短的名称。应用程序将使用该名称来指定用于数据库连接的 ODBC 数据源配置,因此建议所起的名称能反映出该数据库的用途,或者与使用该数据库的应用程序名称类似。对于该例,给该数据源命名为STUDENT,并在下一个编辑框中输入对该数据库的说明。 图6(4) 指定数据库的位置。单击【选取】按钮,然后指定所创建的Access 数据库。(5) 单击【确定】按钮,刚才创建的用户数据源则被添加在ODBC 数据源管理器的用户数据源列表中了。3. 程序设计3.1工
9、程建立及主窗体的设计创建一个支持数据库的标准 SDI 风格的应用程序。其过程如下。 (1) 用MFC AppWizard(exe)创建一个SDI 应用程序“学生管理系统”。选择单文档。 图7图8(2) 在向导的第二步对话框中,指定要包括支持文件的Database 视图。单击Data Source按钮,弹出Database Options对话框,如图所示。图9(3) 在Database Options对话框中,指定将使用 ODBC 数据源,并从为 Access 数据库配置的列表中选择ODBC 配置,本例为 STUDENT。 (4) 单击OK按钮,弹出如图所示的 Select Database T
10、ables对话框,从中选择要使用的表。(5) 后面的选项可设置成默认,这样工程就建立完毕了。创建了应用程序外壳后,必须设计用来查看和编辑数据库记录的主窗体。可使用Visual C+ 的标准控件来设计窗体。本设计的主页面如下:图103.2信息查询查询操作的功能是输入学号,点击查询按钮,就可以弹出新窗口显示出学生的基本信息。图11代码如下:void CMyView:OnButton1() UpdateData();CDIALOG1 dlg;m_pSet-Close();/关闭记录集m_pSet-m_strFilter.Format(sno=%s,m_snofind); /查询m_pSet-Open
11、();/打开记录集int recCount=m_pSet-GetRecordCount();/返回记录个数if(recCount=0) MessageBox(没有匹配的记录!, 查找, MB_ICONWARNING); m_pSet-Close(); m_pSet-m_strFilter=; m_pSet-Open(); elsedlg.m_sno1=m_pSet-m_sno;dlg.m_name1=m_pSet-m_name;dlg.m_sex1=m_pSet-m_sex;dlg.m_age1=m_pSet-m_age;dlg.m_dept1=m_pSet-m_dept;UpdateData
12、(FALSE);dlg.DoModal();/ TODO: Add your control notification handler code here3.3添加操作添加操作是在点击添加按钮后,添加记录窗口跳出,在新窗口输入要添加的记录,点击确定按钮后,如果该学生的信息已存在(以学号判断),则提醒该学生信息已存在,如果添加成功,则跳出添加成功提示。如图:图12void CMyView:OnButton2() CRECADD dlg; if (dlg.DoModal()=IDOK) m_pSet-AddNew(); m_pSet-m_sno =dlg.m_sno2; m_pSet-m_name
13、 =dlg.m_name2; m_pSet-m_sex =dlg.m_sex2; m_pSet-m_age =dlg.m_age2; m_pSet-m_dept =dlg.m_dept2; m_pSet-Update(); m_pSet-Requery(); 3.4修改操作修改操作是在主页面输入要修改的学生信息的学号(在查询条件处输入),点击修改按钮,跳出修改窗口,在窗口中会显示该学生现有的信息,将其修改后点击确定按钮。图13void CMyView:OnButton3() / TODO: Add your control notification handler code hereCRECE
14、DIT dlg;dlg.m_sno3=m_pSet-m_sno;dlg.m_name3=m_pSet-m_name;dlg.m_sex3=m_pSet-m_sex;dlg.m_age3=m_pSet-m_age;dlg.m_dept3=m_pSet-m_dept;if (dlg.DoModal()=IDOK)m_pSet-Edit();m_pSet-m_sno =dlg.m_sno3;m_pSet-m_name =dlg.m_name3;m_pSet-m_sex =dlg.m_sex3;m_pSet-m_age =dlg.m_age3;m_pSet-m_dept =dlg.m_dept3;m_
15、pSet-Update();UpdateData(FALSE);3.5删除操作删除操作是点击删除按钮后,跳出删除窗口,在提示后确认无误后删除。图14图15void CMyView:OnButton4() / TODO: Add your control notification handler code hereCRECDEL dlg;dlg.m_sno4=m_pSet-m_sno;dlg.m_name4=m_pSet-m_name;dlg.m_sex4=m_pSet-m_sex;dlg.m_age4=m_pSet-m_age;dlg.m_dept4=m_pSet-m_dept;if(dlg.
16、DoModal()=IDOK)if(MessageBox(真的要删除该记录吗?, 删除记录, MB_YESNO|MB_ICONQUESTION)=IDYES) m_pSet-Delete(); m_pSet-MovePrev();/移动到上一条记录UpdateData(FALSE); 3.6浏览操作在主页面,添加了一个学生信息浏览按钮,点击该按钮会在跳出的窗口中显示学生信息表,该表与数据库中的学生信息表连接,这样可以通过浏览该表来查看自己的删除,修改和添加等操作是否完成,同时可以通过它查看自己不熟悉学号的学生信息。这个操作应用了ADO Data控件和DataGrid控件,通过ADO Data控
17、件连接数据表,DataGrid控件连接ADO Data控件后显示数据表。图16点击主页面的浏览按钮,显示窗口,程序如下:void CMyView:OnButton5() / TODO: Add your control notification handler code hereCADODataDlg dlg;dlg.DoModal();为对话框类CADODataDlg添加 OnInitDialog( )函数, 用于设置 ADO Data控件的数据源和DataGrid 控件的列宽度。代码如下:BOOL CADODataDlg:OnInitDialog() CDialog:OnInitDialo
18、g(); / TODO: Add extra initialization here /设置ADO Data 控件的数据源,将列名用汉字显示 m_adodc.SetRecordSource(Select sno AS 学号, name AS 姓名,sex AS 性别, age AS 年龄, dept AS 专业 FROM STUDENT); m_adodc.Refresh(); /刷新结果集的内容 /设置列宽度 _variant_t vIndex; vIndex=long(0); /将整型值转换为_variant_t 类型 m_datagrid.GetColumns().GetItem(vIn
19、dex).SetWidth(30); vIndex=long(1); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100); vIndex=long(2); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(50); vIndex=long(3); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(50); vIndex=long(4); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
20、vIndex=long(5); m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);return TRUE; / return TRUE unless you set the focus to a control 4. 调试报告在程序编写过程中,建立新窗口时总是爱忘掉包含新窗口的头文件。建立的新控件总是忘了添加类,导致出现一些错误。5. 心得体会设计过程中,对MFC进行可视化程序的设计有了基本的认识。对数据库有了新的认识,对数据库的连接也有了基本的了解。6. 参考文献1 赵三林.大学计算机应用基础.北京:高等教育出版社,20102 王华, 叶爱亮, 祁立学等. Visual C+ 6.0 编程实例与技巧. 北京:机械工业出版社, 19993 李光明. Visual C+ 6.0 经典实例大制作. 北京:中国人事出版社,2000.4严华峰. Visual C+ 课程设计案例精编. 北京:中国水利水电出版社,2002. 5官章全, 刘加明. Visual C+ 6.0 类库大全. 北京:电子工业出版社,1999. 6张荣梅,梁晓林. Visual C+实用教程. 北京:冶金工业出版社,2004.