学生管理系统总结
学生管理系统有五块:系统管理,学籍管理,班级管理,课程管理,成绩管理。
一个系统不可缺少的当然是数据,不过这个系统的数据库我不是自己建的,直接打开sql文件的,然后打开看了看有六个表,分别是:class-info, course-info, gradecoure-info, result-info,
student-info, user-info.
接下来就开始敲系统了。分为增加,查询,修改信息三大块,五个增加窗体,两个查询窗体,五个修改窗体和一个设置年纪课程窗体,一个主窗体和一个登录窗体。开始不是很熟悉,复杂的就是一个语句块一个语句块敲的,后来一个功能块一个功能块敲,有很多代码都是重复的。
每敲完一个窗体,就运行一次,看看有什么错误,最后敲完了,再运行错误相对好调试一点。再敲时受源代码影响很严重,这时的错误到是不是很多。但当数据库里没东西时,那错误就接踵而至,有很多源代码没考虑到的,所有我也没想过,只是有时突然就发现了。
下面就晒晒我遇到的一些问题。
1.在修改密码时,如果你不输入,他也会“修改密码成功”,而下次登录时,你就可以不用密码就能登录了。他没有判断是否为空,只判断了两次输入的是否一致,如果两次都没输入也是一致的。
2.当表中没有记录时,你修改信息,他会报错。
我们可以在主窗体点击修改菜单时,就判断表中是否有记录,如果没有则打开添加窗体添加,代码如下:
Private Sub modifysinfo_Menu_Click() '修改学籍信息
txtSQL = "select * from student_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False and mrc.BOF=False Then
frmModifysinfo.Show
Else
MsgBox "没有学籍信息,请先添加信息!"
frmAddsinfo.Show
Exit Sub
End If
End Sub
3.我们在修改之前判断了表中是否有记录,但是没过多久,就又有一个问题出来了,当我们表中有记录,但是我们修改时,不小心都删除了也会报上面的错,所有在删除之前要判断他是否是最后一条记录,若是最后一条记录时,判断是否删除,如果还要删除时,就加上一个错误处理。
4.数据库里设置了字段长度,当你运行系统时输入的长度大于了设置长度,也会出错。
若果是textbox控件,将属性maxlength设置个具体的值就好。
若是combox控件,用语句判断,如:
if len(comboclassno.text)>4 then
Msgbox “请输入长度为4的班号!”
Exit sub
End if
.