您的位置:首页 > 其它

【学生信息管理系统 总结】

2009-07-29 20:47 363 查看
这个系统,快慢也做了将近一周了吧,想来第一眼看到这个东西,还真是有点悬念,到头来也把这个东东给啃下来了。

总结如下:
1、分析模块中的代码,最多最核心的就是连接数据库的东西,用到几个自定义函数,其中要先通过ID、和Password 连接数据库的数据源,这还有给前提,就是把数据库给配置好,要跑这个学生信息管理系统是需要数据库服务器的支持的,我在这个系统的实例操练中知道了并且学会了如何配置数据库,如何搭建环境,注册服务器、三种DNS配置,测试数据联接。

从模块入手,连接好数据库,其他的数据库查询问题就好说了,其实在这几天和同学们互相解决问题,互相调试系统的过程中,我们大家最大的体会也无非是数据库的连接成功与否的问题,一旦数据库连接不成功,那说啥都是白搭的。

当然超多的问题也出在这个上边,通过错误整理,多是一些细微的错误使得我们被挡在了门外,成了门外汉了哈~~ 这也真是“差之毫厘,谬以千里”呀,这几天真的是体会颇深。

连接数据库的问题解决了,貌似剩下的工作就都交给了我们所熟悉的VB变成了哈....
首先看,总共有六个大菜单项,下面各有小项,其实也简单,熟练一个,剩下的就是贯通了。系统菜单项下面是添加用户、修改密码、退出系统,这三个功能项。其中添加用户,就是把当前输入的新用户名和原数据库中user的记录数据比较,符合条件则(mrc.addnew )添加到数据库中。修改密码也是如此,直接把密码框的数据赋值更改内存中结果集的对应字段值,再次更新修改到相应数据库中。

以下大的菜单项依次是,学籍管理、班级管理、课程设置、成绩管理,和帮助。
我们先看这些菜单项的名称来想一想这些实现的具体功能有哪些呢?学籍管理,顾名思义,首先得有学籍我们才能管理、操作不是~ ,如是,这个里边就应该有一个添加学籍的功能实现,添加的学籍需要修改怎么办~ 那就需要人性化的设置,这样就有了相应的更改学籍信息的功能,结合实际使用流程,查询功能也是不可或缺的,同样这些添加、查询功能主要的核心就是sql语句,一条条貌似简单的sql语句都是极容易出错的地方,一个空格摆放不对,一个字母缺失、敲错,这些都会导致数据库的连接问题,主要体现在返回的记录集上面。

在一开始接触这个信息系统,在里边摸索前行,当敲代码到第三个以及以后的菜单项中具体功能实现的时候,就发现好多好多重复的代码,想想卖油翁的故事,知道了“熟能生巧”这个真理,真的是这样的。
在我把整体系统敲完了,剩下的事就是整体的调试了,说起来调试还真是个问题,在此之前我没怎么调试过程序,我想其他同学们也对如何调试程序比较模糊,对出现的错误比较没辙。

经过这次锻炼,不仅我自己在调试错误方面有了很大提高,其他同学们也进步很大。在这个系统调试阶段,仔细使用设置断点、用F8、自己定点插入msgbox,等等。真是有点“与人斗其乐无穷,与天斗其乐亦无穷” 的感觉哈~~

说过调试,也说了这主要的添加、修改、查询三大功能实现的方法,剩下的就是我在调试阶段自己对原系统的一些更改。
1、针对这16个窗体基本上都有对数据库内数据信息查询访问,给用户返回结果集。可是如果数据库中没有任何数据这时就会出错,如是,我在每个窗体对返回的记录集操作之前先判断一下,减少了因程序运行错误而使程序突然结束的几率。

2、在实现每个添加功能的时候,有时添加的不是一个数据,而是多个数据,原系统有点不足之处就是当第二个添加时,添加窗体上会留有上一个的添加信息,如是我在每个窗体的添加事件过程里加了一段清空代码,这样也方便了不少。

3、在学籍管理、班级管理、课程设置、成绩管理,这四个菜单项里边共有的一个功能就是修改相应信息。
这里边和经过查询数据库,再到在内存中开辟的记录集,涉及到和记录集打交道,我们就要慎之又慎了,因为recordset ,原系统就没有对‘上一条记录’‘下一条记录’‘第一条记录’‘最后一条记录’中出现的错误进行处理,为了避免记录集到头儿或到底儿,而出错,禁掉相应的‘上一条’‘下一条’按钮就行了。

4、在实现‘更新数据’功能的时候,要先将当前记录集中数据删掉 ,然后再重新连接数据库,重新addnew,添加进去就行了,这其中还要和记录集打交道,好多操作不当都会提示错误,很多的错误就是“错误91,with对象未定义”一类的。 添加了一个错误处理,on error goto msgWrong 。

6、对于修改信息窗体中的‘删除记录’功能的实现,我感觉原系统给的思路倒是挺轻巧的,没有使用sql语句中的‘delete’语句,只是用到了记录集中有的bookmark ,通过上下移动,定制标签,“回滚” 到原纪录处进行删除操作,再把刚才的bookmark和记录集的bookmark连接起来,再进行一次viedata,如此就能达到报错少而且成功删除的实效。

7、还有一个就是 课程信息设置菜单 中的‘设置课程’功能,这里边 ,通过对comboGrade_click 过程的处理,使得当单击选择了一个年级后,再点击“设置课程”按钮,会在“所有课程”一栏里会出现所有的课程信息,而通过后来的“确认设置”按钮,代码中会先对数据库中的 comboGrade选中的年级信息搜索,返回一个记录集,删掉这个记录集,再拔新添加到该年级的课程addnew 进来。 如此完成了 课程的设置。

8、在帮助一栏的代码里,好多声明API,用到的都是一些打开注册表项,查看键值的函数,其实原系统这个功能并没有应用到注册表这边,这个查看注册表的功能应该有一个写入注册表相对应起来才行,而显示的版本信息,一个用不到这些注册表函数,只用到app.major ,貌似是这个 系统并没做完。

9、以上就是我投入到这个系统中前前后后的一些感想之类的。

总的说这个系统,我只是局限在客户端这里,虽说对架设服务器,编写客户端有了一的的熟悉,可是对于如何写好一个数据库的骨架还是有好多需要解决的问题的,突然想到 学什么东西都要博学,可以不精,但决不能不知,就像是前天米老师重复的那句“不怕不知道,就怕不知道”。真的不要拘谨于一个小小的专业圈子,这样真的是很不利于专业的发展,无形中肩上的压力又大了许多,有压力才有动力,人生路正远.....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: