版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机程序设计综合实验报告研究生管理系统设计 院 系: 电控学院自动化系 班 级: 自动化4班 姓 名: 赵国宝 指导教师: 靳引利 2015年 07月 0 日1 / 80摘要 通过这次计算机综合实验,要求学生掌握程序设计的思路,深入理解面向对象的思想方法,熟练掌握数据结构的基本内容,使用数据结构的算法解决应用问题,建立功能体系完善的视窗程序,掌握视窗程序的设计、编写、调试方法,使用文档/视窗,对话框,组件工具解决实际问题,通过视窗、文件的访问,记录过程数据,并对已经记录的数据进行再现和访问。通过综合性的软件设计,经历需求分析、功能设计、算法设计、代码编写和调试、系统测试、软件安装运行、文档编
2、写的全过程,建立软件工程的系统性概念,通过该实验,使学生掌握windows程序设计的基本方法。掌握学籍管理的基本内容,熟练应用数据库技术和通用组件,实现研究生信息的增、删、改、查功能。通过处理过程对计算机软件系统工作原理的进一步理解,促进对面向对象概念的系统理解以及面向对象方法的应用,为后续课程的学习和应用计算机技术解决专业学习中的程序设计问题奠定坚实的基础。一、系统名称:研究生管理系统设计二、系统功能说明1、研究生基本信息管理,可根据用户级别的不同设置登录账号和密码。主要有研究生、导师、管理员、学校领导的登录。2、 一级菜单中包含教师管理、导师管理、课程管理、学籍管理等一级菜单。 当管理员登
3、录进去时有教师管理、导师管理、课程管理、学籍管理等子菜单。 当学生进去时有查询个人、查询成绩、查询课表及修改密码。 当导师登录进去时有个人是信息查询、学生成绩查询、课表查询及密码修改。 当领导登录进去时主要是对学生成绩的相关操作。3、导师管理二级菜单包括:导师信息查询、增加、删除和导出导师信息库等功能。导师信息包括姓名、性别、毕业院校、研究方向等相关信息。导出信息的格式为excel文件。4、学籍管理最少包括:学生信息维护、学生信息 查询、学生信息导出,导出文件格式同上。5、成绩管理模块包括:成绩维护、成绩查询、成绩导出,导出文件格式同上。6、查询时支持多条件组合查询。如查询导师的时候可以同时查
4、询学院和职称。 7、以研究生主管领导身份登录,对成绩的分布情况进行分析。 比如查询某班级某科目的通过率及平均分。8、以曲线图、饼图等方式展示查询结果。三、系统设计1、界面设计2、 数据库设计 数据库实现与应用程序实现是分离的,数据库的实现非常重要。在研究生管理信息系统中,首先要创建学生管理信息系统数据库,然后在数据库中创建需要的表和字段。下面分别讲述本系统中数据库的设计。本例采用Access 数据库系统来进行数据库的实现。(1)创建数据库下面给出在Access 中创建数据库的过程。运行Access 应用程序,在“新建数据库”选项组中选取“空Access 数据库”单选,按钮,然后单击“确定”按钮
5、。在“文件新建数据库”窗口指定数据库的存放位置与数据库文件名称,本例为研究生信息管理系统.mdb,然后单击“创建”按钮。注:数据库的名字不能是system.mdb,否则会出错。(2)创建表下面给出在Access 中创建表的过程。在创建数据库后进入主界面,单击“sys:数据库”子窗口中的“设计”按钮。此时将会出出“表1:表”窗口。在表的设计窗口“表1:表”中按照下面属性图确定的数据库模型建立数据字段,并指定字段的数据类型与相关属性。表中相关字段添加完后,我们还需要根据需要和逻辑分析为数据库添加相应的约束:如指定表的主键,外键约束,设定数据范围以及指定初始,默认值等等,以确保数
6、据操作的完整性与一致性。3、 算法设计可以把整个系统划分为以下三个基本的功能模块:登录模块算法如下void CGraduateManagementDlg:OnEnter() UpdateData(true);administrator.Open();Teacher.Open();Student.Open();Leader.Open();switch(i) case 0:Teacher.MoveFirst();while(!Teacher.IsEOF() if(m_Password=Teacher.m_Password && m_UserID=Teacher.m_Name)l=T
7、eacher.m_Name;h=Teacher.m_Major;AfxMessageBox("登录成功");Techer Dlg2;Dlg2.DoModal();break; else Teacher.MoveNext(); if(Teacher.IsEOF() AfxMessageBox("帐号或密码错误,请重新输入"); case 1: if(m_Password=administrator.m_Password && m_UserID=administrator.m_UserName) AfxMessageBox("登录成
8、功");Cnba1 dlg;dlg.DoModal();/else AfxMessageBox("密码错误");break;case 2: if(m_Password=Leader.m_Password && m_UserID=Leader.m_Name) AfxMessageBox("登录成功"); LeaderGrade dlg; dlg.DoModal(); break; case 3:Student.MoveFirst();while(!Student.IsEOF() if(m_UserID=Student.m_Name
9、 && m_Password=Student.m_Password)j=Student.m_Number;f=Student.m_Major;AfxMessageBox("登录成功");StuMessage Dlg2;Dlg2.DoModal();break; elseStudent.MoveNext(); if(Student.IsEOF() AfxMessageBox("帐号或密码错误,请重新输入");administrator.Close();Teacher.Close();Student.Close();Leader.Close(
10、);/UpdateData(false);学生信息管理模块:学生可以进行的相关的操作,主要有:登入系统:输入姓名和密码,并选择用户为学生,点击登录,经系统验证为合法用户后可进入系统查询并修改相关信息。进入学生操作界面后,显示学生基本信息。学生可以进行以下操作:查看成绩:显示学生成绩信息。查看课表:显示学生当前课表。修改密码:为了防止密码输入错误,在输入新密码时需要输入两次。导师信息管理模块:教师可以进行的相关操作,主要有:登入系统,输入教师姓名和密码,并选择用户为导师,点击登录,经系统验证为合法用户后可进入系统查询并修改相关信息。进入教师操作界面后,显示教师基本信息。教师可以进行以下操作:查看
11、所教课程信息:教师可以查询所自己所教课程的上课时间,上课地点等,以利于提前备课,并方便安排行程。录入成绩:点击录入成绩可以为学生录入成绩。修改密码:为了防止密码输入错误,在输入新密码时需要输入两次。管理员模块:系统管理员可以进行的相关操作,主要有:登入系统,输入管理员姓名和密码,并选择用户为管理员,点击登录,经系统验证为合法用户后可进入系统查询并修改相关信息。查询学籍信息:管理员有权查询及导出学籍信息。查询导师信息:管理员有权查询及导出导师信息。查询成绩信息:管理员有权查询及导出成绩信息。查询课程信息:管理员有权查询及导出课程信息。管理学籍信息:管理员有权添加、修改以及删除一条学籍信息。管理导
12、师信息:管理员有权添加、修改以及删除一条导师信息。管理成绩信息:管理员有权添加、修改以及删除一条成绩信息。管理课程信息:管理员有权添加、修改以及删除一条课程信息。修改密码:为了防止密码输入错误,在输入新密码时需要输入两次。四、系统的流程图(不少于3幅图)1、系统流程图研究生信息管理系统导师管理学生管理管理员管理成绩录入成绩查询修改密码成绩查询课程查询修改密码信息查询信息维护数据导出学籍信息课程信息导师信息成绩信息2、 数据流程图学籍信息课程信息成绩信息导师信息管理员信息5、 重点算法说明void CGraduateManagementDlg:OnEnter() 通过switch语句进行登录者的
13、选择UpdateData(true);administrator.Open();Teacher.Open();Student.Open();Leader.Open();switch(i) case 0:Teacher.MoveFirst();while(!Teacher.IsEOF() if(m_Password=Teacher.m_Password && m_UserID=Teacher.m_Name)l=Teacher.m_Name;h=Teacher.m_Major;AfxMessageBox("登录成功");Techer Dlg2;Dlg2.DoMo
14、dal();break; else Teacher.MoveNext(); if(Teacher.IsEOF() AfxMessageBox("帐号或密码错误,请重新输入"); case 1: if(m_Password=administrator.m_Password && m_UserID=administrator.m_UserName) AfxMessageBox("登录成功");Cnba1 dlg;dlg.DoModal();/else AfxMessageBox("密码错误");break;case 2:
15、if(m_Password=Leader.m_Password && m_UserID=Leader.m_Name) AfxMessageBox("登录成功"); LeaderGrade dlg; dlg.DoModal(); break; case 3:Student.MoveFirst();while(!Student.IsEOF() if(m_UserID=Student.m_Name && m_Password=Student.m_Password)j=Student.m_Number;f=Student.m_Major;AfxMes
16、sageBox("登录成功");StuMessage Dlg2;Dlg2.DoModal();break; elseStudent.MoveNext(); if(Student.IsEOF() AfxMessageBox("帐号或密码错误,请重新输入");administrator.Close();Teacher.Close();Student.Close();Leader.Close();/UpdateData(false);void OutGradea:OnBUTTONFind() 在查找成绩时通过while循环对数据库进行遍历查找信息。/ TODO
17、: Add your control notification handler code hereUpdateData(true);int k=0;m_nLIST.DeleteAllItems();switch(m)/ TODO: Add your control notification handler code herecase 1:Grade.Open();Grade.MoveFirst(); while(!Grade.IsEOF() if(m_Message=Grade.m_Class) m_nLIST.InsertItem(k,Grade.m_StuNumber); m_nLIST.
18、SetItemText(k,1,Grade.m_Name); m_nLIST.SetItemText(k,2,Grade.m_c_); m_nLIST.SetItemText(k,3,Grade.m_chinese); m_nLIST.SetItemText(k,4,Grade.m_english); m_nLIST.SetItemText(k,5,Grade.m_math); m_nLIST.SetItemText(k,6,Grade.m_music);m_nLIST.SetItemText(k,7,Grade.m_pe);m_nLIST.SetItemText(k,8,Grade.m_Cl
19、ass); k+; UpdateData(false); Grade.MoveNext(); Grade.Close();break;case 3:Grade.Open();Grade.MoveFirst(); while(!Grade.IsEOF() if(m_Message=Grade.m_StuNumber) m_nLIST.InsertItem(k,Grade.m_StuNumber); m_nLIST.SetItemText(k,1,Grade.m_Name); m_nLIST.SetItemText(k,2,Grade.m_c_); m_nLIST.SetItemText(k,3,
20、Grade.m_chinese); m_nLIST.SetItemText(k,4,Grade.m_english); m_nLIST.SetItemText(k,5,Grade.m_math); m_nLIST.SetItemText(k,6,Grade.m_music);m_nLIST.SetItemText(k,7,Grade.m_pe);m_nLIST.SetItemText(k,8,Grade.m_Class); k+; UpdateData(false); Grade.MoveNext(); Grade.Close();break;case 2:Grade.Open();Grade
21、.MoveFirst(); while(!Grade.IsEOF()if(m_Message=Grade.m_Name) m_nLIST.InsertItem(k,Grade.m_StuNumber); m_nLIST.SetItemText(k,1,Grade.m_Name); m_nLIST.SetItemText(k,2,Grade.m_c_); m_nLIST.SetItemText(k,3,Grade.m_chinese); m_nLIST.SetItemText(k,4,Grade.m_english); m_nLIST.SetItemText(k,5,Grade.m_math);
22、 m_nLIST.SetItemText(k,6,Grade.m_music);m_nLIST.SetItemText(k,7,Grade.m_pe);m_nLIST.SetItemText(k,8,Grade.m_Class); k+; UpdateData(false); Grade.MoveNext(); Grade.Close();break;case 4: Grade.Open(); Grade.MoveFirst(); while(!Grade.IsEOF() m_nLIST.InsertItem(k,Grade.m_StuNumber); m_nLIST.SetItemText(
23、k,1,Grade.m_Name); m_nLIST.SetItemText(k,2,Grade.m_c_); m_nLIST.SetItemText(k,3,Grade.m_chinese); m_nLIST.SetItemText(k,4,Grade.m_english); m_nLIST.SetItemText(k,5,Grade.m_math); m_nLIST.SetItemText(k,6,Grade.m_music);m_nLIST.SetItemText(k,7,Grade.m_pe);m_nLIST.SetItemText(k,8,Grade.m_Class); k+; Up
24、dateData(false); /Teacher.MoveNext(); Grade.MoveNext(); Grade.Close();break;6、 设计过程遇到的问题及解决办法、解决效果 在编程过程中曾遇到过很多次这样的问题,最后发现是由于数据库没有打开或是数据库打开没有关闭而导致的错误,最后在仔细检查代码加以更改后这个问题得以解决。 在编程过程中经常出现期望为一的错误,strSQL1.Format("select * from 成绩 where Name ='%s'",k);最后发现是where后面变量名称错误的问题导致。 采用ODBC方式连接数
25、据库并不是很方便,在更改数据库文件存放位置后必须手动更改添加数据源,这对程序调试与封装产生了很大影响。最后通过对网上例程的分析,我找到了它们对这种问题的相同解决方法,在入口函数的.CPP文件中添加响应的自动搜索数据库文件路径的代码即可解决这个问题,如今本程序的数据库文件位置不在影响程序的正常运行。由于题目要求将数据库文件导出成EXECLE文件,而且这也符合程序的实际需求,所以必须想办法将其与MFC程序连接,以往都是将数据保存为文本文档,所以并不清楚怎样用MFC程序调用应用程序实现目的。通过查阅相关MFC及数据库工具书,找到了一种调用EXECLE.EXE应用导出文件的方法,通过在MFC中添加对应
26、的类文件,用代码操作就可以实现此项功能。 当你把某一个类想重新添加的时候可以把他的。Cpp和。H文件删除,然后按下Ctrl+w把原来的类进行remove之后就可以重新定义类了 在我把数据库里面的值调用出来求平均值的时间一直不成功,最后发现是由于数据库里定义的变量都是文本型的,不能进行计算,最后在网上查到CStringstr("1234");int i= _ttoi(str);如这样的方法把文本型改为int型得以解决 在刚开始进行数据查找时我用的是while进行查找,最后发现这样弊端很大,不仅不够方便,有时候容易死循环。最后我在网上查到了sql语句,如用S
27、QL语句 SELECT * FROM stuscore WHERE 学号='111111'这样查找就极为方便。七、对程序设计的认识 在大一C语言、计算机基础,大二c+、数据结构的基础上,我序设计也有了新的认识,下面是我在这次实训中收获的知识。 一、明确编程目的。做程序只有一个大体的方向,有许多细节是不能明确的,比如想要做一个播放器,它该不该支持LRC歌词呢、该不该支持无损格式呢、又该不该创建一个平台支持用户上传原创歌曲这些不一定在一开始就能想到,也许有的人在做这个程序的时候会一直纠结于此,最后弄
28、得代码混乱,甚至不得不重新开始。我觉得我们在做一个程序时,不该只有大的方向,在设想时就应该把方方面面的细节也加入考虑范畴,哪怕最后因为想法又变需要对程序进行改动,但这个时候我们的代码因为目标明确所以肯定是工整严谨的,所以就算要加入或删改内容也不致让我们的代码乱成一锅粥。二、构建逻辑模型。明确了自己想要什么样的程序,许多人也许就开始直接开始敲代码了,我觉得这种行为是不可取的。常言道:“磨刀不误砍柴工”,直接开始敲代码无异于钝刀砍柴,效果可想而知。无论用汉语还是用数学式,当我们把想要的程序用严谨的逻辑编织起来,再去砍柴,也只是把汉字和数学式翻译成计算机语言那么简单了。三、逻辑模型语言化。就是刚刚提
29、到的“简单”的“砍柴”,说简单,是因为确确实实是只需要把自己的逻辑模型用语言表达出来;“简单”加引号,又是因为它确实不简单我们需要熟悉许许多多控件的属性、事件、方法,需要了解许多常用不常用函数,最困难的是我们得把许许多多的代码依照我们的设想,比如顺序、选择、循环三大控制结构准确有效地组合起来:这不止是一个知识积累的过程,在学习那些概念与用法的同时我们还要不断地进行编程练习、尝试各种代码的组合,这是要经过长期练习才能掌握的。四、调试改错。在编程的过程中难免遇到错误,按照我过去的习惯就是不能正常运行就直接关掉.很不可取,请勿效仿。如果我们的设想合理逻辑严谨,是很难在编写代码时出现大错误的,不能正常
30、运行通常都是因为诸如“下标越界”“溢出”之类的小错误造成的,这个时候其实只要耐心调试,跟着代码过程一步一步检查,总会查到错误并及时改正的。五、代码精简。编程是一个处理信息量很大的过程,尤其是在编译一些大型程序时,肯定会有许多代码冗余。无用的繁杂代码只会加深以后维护程序的难度,所以我们应该及时清理它。并且对一些使计算过程繁琐的代码,我们也应该及时进行更正。8、 自己编写的程序代码void CGraduateManagementDlg:OnEnter() 登录界面选择主函数UpdateData(true);administrator.Open();Teacher.Open();Student.Op
31、en();Leader.Open();switch(i) case 0:Teacher.MoveFirst();while(!Teacher.IsEOF() if(m_Password=Teacher.m_Password && m_UserID=Teacher.m_Name)l=Teacher.m_Name;h=Teacher.m_Major;AfxMessageBox("登录成功");Techer Dlg2;Dlg2.DoModal();break; else Teacher.MoveNext(); if(Teacher.IsEOF() AfxMessa
32、geBox("帐号或密码错误,请重新输入"); case 1: if(m_Password=administrator.m_Password && m_UserID=administrator.m_UserName) AfxMessageBox("登录成功");Cnba1 dlg;dlg.DoModal();/else AfxMessageBox("密码错误");break;case 2: if(m_Password=Leader.m_Password && m_UserID=Leader.m_Name
33、) AfxMessageBox("登录成功"); LeaderGrade dlg; dlg.DoModal(); break; case 3:Student.MoveFirst();while(!Student.IsEOF() if(m_UserID=Student.m_Name && m_Password=Student.m_Password)j=Student.m_Number;f=Student.m_Major;AfxMessageBox("登录成功");StuMessage Dlg2;Dlg2.DoModal();break; e
34、lseStudent.MoveNext(); if(Student.IsEOF() AfxMessageBox("帐号或密码错误,请重新输入");administrator.Close();Teacher.Close();Student.Close();Leader.Close();/UpdateData(false); void CGraduateManagementDlg:OnMENUStuMessage() / TODO: Add your command handler code hereCnba2 dlg;dlg.DoModal();学生信息管理对话框void C
35、GraduateManagementDlg:OnMENUITEMGrae() / TODO: Add your command handler code hereStuGrade dlg;dlg.DoModal();学生成绩管理对话框void CGraduateManagementDlg:OnMENUTeacher() / TODO: Add your command handler code hereTeacherMessage dlg;dlg.DoModal();教授信息对话框void CGraduateManagementDlg:OnMENUStuGrade() / TODO: Add
36、your command handler code hereTGrade dlg;dlg.DoModal();学生成绩对话框void CGraduateManagementDlg:OnMENUITAstuMessage() / TODO: Add your command handler code hereAStuMessage dlg;dlg.DoModal();管理员管理学生信息void CGraduateManagementDlg:OnMENUITEAStuGrade() / TODO: Add your command handler code hereAStuGrade dlg;dl
37、g.DoModal();管理员管理学生成绩void CGraduateManagementDlg:OnMENUITEMTFGrade() / TODO: Add your command handler code hereTFGrade dlg;dlg.DoModal();教授管理学生成绩void CGraduateManagementDlg:OnMENUITEMATeacher() / TODO: Add your command handler code hereATeacher dlg;dlg.DoModal();管理员管理教师对话框void CGraduateManagementDlg
38、:OnMENUITEMMessageOutTeacher() / TODO: Add your command handler code hereOutMessage dlg;dlg.DoModal();导出教授信息void CGraduateManagementDlg:OnMENUITEOutStudent() / TODO: Add your command handler code hereOutStudent dlg;dlg.DoModal();到处学生信息void CGraduateManagementDlg:OnMENUITEMOutGrade() 导出学生成绩/ TODO: Ad
39、d your command handler code hereOutGradea dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUITEMAClass() 管理员管理课表/ TODO: Add your command handler code hereAClass dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUTClass() 教师查询课表/ TODO: Add your command handler code hereTClass dlg;dlg.DoModal();voi
40、d CGraduateManagementDlg:OnMENUClass() 学生查询课表/ TODO: Add your command handler code hereSClass dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUITEMChangEStu() 修改学生登录密码/ TODO: Add your command handler code hereChangeStu dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUITEMChangeTea() 修改老师登录密码/
41、TODO: Add your command handler code hereChangeTea dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUITEMChangeA() 修改管理员登录密码/ TODO: Add your command handler code hereChangeAdm dlg;dlg.DoModal();void AClass:OnBUTTONFind() 管理员查询全部课表int k=0;/ TODO: Add your control notification handler code hereClass.
42、Open();Class.MoveFirst(); while(!Class.IsEOF() m_nLIST.InsertItem(k,Class.m_column1); m_nLIST.SetItemText(k,1,Class.m_column2); m_nLIST.SetItemText(k,2,Class.m_column3); m_nLIST.SetItemText(k,3,Class.m_column4); m_nLIST.SetItemText(k,4,Class.m_column5); m_nLIST.SetItemText(k,5,Class.m_column6); m_nL
43、IST.SetItemText(k,6,Class.m_column7); k+; UpdateData(false); Class.MoveNext(); Class.Close();void AStuGrade:OnBUTTONGrade() 管理员查询学生成绩/ TODO: Add your control notification handler code hereb=m_Find;/ TODO: Add your control notification handler code hereUpdateData(true);CString strSQL4;strSQL4.Format(
44、"select * from 成绩 where StuNumber ='%s'",b);if(!Grade.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL4)MessageBox("打开数据库失败!","数据库错误",MB_OK);return ;m_c=Grade.m_c_;m_chinese=Grade.m_chinese;m_english=Grade.m_english;m_math=Grade.m_math;m_name=Grade.m_Name;m_music=Grade.m_mus
45、ic;m_pe=Grade.m_pe;m_StNumber=Grade.m_StuNumber;UpdateData(false);Grade.Close();void AStuMessage:OnBUTTONStudentMessage() 管理员查询学生信息a=m_Find;/ TODO: Add your control notification handler code hereUpdateData(true);CString strSQL3;strSQL3.Format("select * from 学生 where Number ='%s'",a
46、);if(!Student.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL3)MessageBox("打开数据库失败!","数据库错误",MB_OK);return ;m_Major=Student.m_Major;m_StudentAge=Student.m_Age;m_StudentName=Student.m_Name;m_StudentNumber=Student.m_Number;m_StudentSex=Student.m_Sex;m_Password=Student.m_Password;UpdateData(fal
47、se);Student.Close();void AStuMessage:OnBUTTONSave() / TODO: Add your control notification handler code hereswitch(q)case 1:管理员修改学生信息a=m_Find;/ TODO: Add your control notification handler code hereUpdateData(true);/CString strSQL4;strSQL4.Format("select * from 学生 where Number ='%s'"
48、,a);if(!Student.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL4)MessageBox("打开数据库失败!","数据库错误",MB_OK);return ;/Student.Open();Student.Edit();/ TODO: Add your control notification handler code hereUpdateData(true);Student.m_Age=m_StudentAge;Student.m_Major=m_Major;Student.m_Name=m_StudentName
49、;Student.m_Number=m_StudentNumber;Student.m_Sex=m_StudentSex;Student.m_Password=m_Password;/Student.m_ID=m_StudentNumber;Student.Update();Student.Requery(); Student.Close();MessageBox("修改成功!");break;case 2:管理员添加学生信息Student.Open();Student.AddNew();UpdateData(true);Student.m_Age=m_StudentAge
50、;Student.m_Major=m_Major;Student.m_Name=m_StudentName;Student.m_Number=m_StudentNumber;Student.m_Sex=m_StudentSex;Student.m_ID=m_StudentNumber;Student.m_Password=m_Password;/Student.AddNew();/ TODO: Add your control notification handler code hereStudent.Update();Student.Requery(); Student.Close();Me
51、ssageBox("添加成功!");Grade.Open();Grade.AddNew();Grade.m_Name=m_StudentName;Grade.m_StuNumber=m_StudentNumber;Grade.Update();Grade.Requery();Grade.Close();void AStuMessage:OnBUTTONDelete() 管理员删除学生信息/ TODO: Add your control notification handler code herea=m_Find;/ TODO: Add your control notification handler code hereUpdateData(true);/CString strSQL4;strSQL4.Format("select * from
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年人教版七年级英语上册 Unit 3 My School 单元能力综合试题
- 莆田六年级区考试卷子及答案
- 兰州单招考试试题及答案
- 光伏板清洗安全培训课件
- 慢性非传染性疾病基本概念与其流行态势
- 光伏分布式培训
- 2024人教版八年级地理上册第五章《建设美丽中国》每课时同步高效导学案汇编(含两个导学案)
- 2024-2025学年人教版八年级物理上册同步讲义:第四章《光现象》单元练习(学生版+解析版)
- 《屈原列传》:概括文意-文言文简答题(讲义)原卷版
- 企财险基础培训课件
- 2025年及未来5年中国高功率连续光纤激光器行业发展监测及发展趋势预测报告
- 2025年常见非标机械设计师面试题及答案
- 员工冬季出行安全
- 单侧双通道脊柱内镜技术
- GB/T 14748-2025儿童呵护用品安全儿童推车
- 《粤港澳大湾区城际铁路建设工程资料管理规范》
- 期末复习知识清单 2024-2025学年统编版语文六年级上册
- 2025年中国碳氢清洗剂市场调查研究报告
- 2023年马原期末复习知识点总结超详细版
- 海水墙面防水施工方案设计
- 退化森林修复技术-洞察与解读
评论
0/150
提交评论