数据库课程设计(13)
时间:2025-04-29
时间:2025-04-29
信息表中添加信息时,就会触发.建四个对话框,两个对话框用来显示学生信息和教师信息,另外两个对话框用来实现对学生和教师信息的管理.在显示基本信息对话框中,为其添加CLIST CONTRL控件,弄成报表的形式,在程序中调用建立的几个记录集.利用滚动记录的几个函数,实现向报表控件中添加数据,这样就可以把学生和老师的信息给显示出来.而在对学生和教师信息管理的对话框中,设立几个变量与对话框中的EDIT编辑框相关联.调用UpateData(),可以把输入的值传给变量,这样就可以实现所想要的功能. (2)成绩查询模块
.
信息.按班级查询,可以获得该班级学生的考试信息,不分学期.按系查询,可以获得某系的全部考试信息.另外两个对话框实现查询个人平均分和班级成绩情况的查询.前两个对话框就不再叙述了,原理与前面的一样,在求平均分时,根据输入的学年学期和学号,可以查询该学生在这个学年的考试平均分,考试门数程不及格的门数.在实现求平均分过程中,本想用存储过程进行实现的,但由于在MFC中不知道如何调用有返回值的存储过程,所以用一个个比较过去,记录总和和考试课程数.这样就可以求出相应的平均分.不及格数也呼之欲出.求班级成绩也同理可得。 (3) 成绩管理模块
现一个,其他的两个就相当容易了,在这里,我是调用SQL语句进行添加、修改和删除的。首先把几个编辑框与几个变量进行关联,其实不用关联也是可以的,可以利用GetDlgItem(ID号)->GetWindowText(字符串变量),这样也可以把值传送给变量。建立一个数据类对象CDatabase m_db,用这个对象打开相对应的数据库,用str.Format(“SQL语名”),对字符串进行格式化成SQL语句,这样就可以用m_db.ExecuteSQL(str),执行SQL语句,这样相写一个函数进行查询,省了很多的代码,比较简洁。也可以调用存储过程进行实现,因为获取返回值的存储过程不会,所以这里有调用的存储过程是没有返回值的。 (4) 系统管理模块和数据库管理模块
这个对话框中,把用户登陆名给显示出来,旧密码保存在全局变量中,用来检验用户输入的旧密码是否正确,如果正确的话,调用SQL语句的Update对数据库中的相应元组进行修改。数据库备份这个模块,用了一个CCOMBOX控件,用来让用户选择进行哪种数据操作,有数据库完全备份,差异备份和移除设备。这三个都是调用数据库的相应命令进行操作。如完作备份,刚调用如下语句:sql.Format("backup database student to disk='%s'",m_getpathname);此处是利用CFileDlg进行相应的操作。不过这段内容有点缺陷,就是在退出程序后,原来保存的那个路径名会清空,所以还得再选择路径进行备份。
下一篇:客户经理工作日志