学生信息管理系统之优化篇终结--03
前言:学生系统第一次验收完毕,测试出来了一堆bug。还需要优化的地方,有的优化是自己没有想到。有的却实是,自己测试的时候。没有测试出来,那真是自己做的系统下不了手。不舍得霍霍,还是大师厉害 。废话不多说,开始分享优化内容。
目录
下拉框禁止输入:
要求用户只能在下拉框里面选择内容,禁止用户输入:
代码:利用ASCII码进行限制
Private Sub comboSex_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
这种方法可以,在修改窗体使用。还一种直接修改属性,但是只能在添加类型的窗体使用。
属性:把style属性,改成2就行了!
修改密码不能与原密码一致:
这个思路,和原来修改密码的思路差不多。只不过多了一层对旧密码的判断而已! 想要对旧密码的判断,首先是得到旧密码。然后才能判断对和对比,这里用到方法和获取用户名否方法一致。先在模块声明全局变量 userpwd,用于登录的时候把正确密码赋值给 全局变量userpwd. 使用方法:在修改密码窗体调用,全局变量和输入的密码框里的内容进行对比。判断要修改的密码,是否和原来的密码一致!
代码
模块:
Public Userpwd As String
窗体:
Private Sub cmdOK_Click()
Dim txtSQL, MsgText As String 'SQL查询
Dim mrc As ADODB.Recordset '记录集
'判断密码是否一致
If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then
MsgBox "两次密码不一致,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1(1).SetFocus
Text1(1).Text = ""
Text1(2).Text = ""
Else
txtSQL = "select * from user_Info where user_ID='" & UserName & "'" '获取用户信息
Set mrc = ExecuteSQL(txtSQL, MsgText)
'判断是否和原密码重复
If (Userpwd = Text1(1).Text) Then
MsgBox "与旧密码重复,请从新修改!", vbOKOnly + vbExclamation, "警告"
Text1(1).SetFocus
Text1(1).Text = ""
Text1(2).Text = ""
Else
mrc.Fields(1) = Text1(1).Text '密码
mrc.Update '更新密码
mrc.Close '关闭记录集
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "警告"
Me.Hide
End If
End If
End Sub
3021最终解决方案:
查看按钮:
On Error GoTo gperror '错误处理
'显示第一条
mrc.MoveFirst
'调用函数过程显示数据
Call viewData
gperror:
就一显示第一条为例,在每一个事件里。添加一个异常处理功能!
虽然不是直接解决,间接性解决!
成绩大小判断:
在添加成绩的时候,发现成绩的值没有限制。普遍一科的成绩大约都是150左右,所以既然有需求那就实现!
代码:
Private Sub txtResult_Change()
If Val(txtResult.Text) > 150 Then '如果大于150
MsgBox "已超过要求范围,请从新输入!", vbOKOnly + vbExclamation, "警告"
txtResult.SetFocus
txtResult.Text = ""
End If
End Sub
总结:
这次已经是第二遍完成,学生管理系统了。相对于第一遍来说,也明白了很多。多于表之间的联系,也比较清楚。整体学生的思路,与数据库之间的交互也比较清楚。总之,边学习变成长吧!
欢迎访问csdn的博客:
https://blog.csdn.net/kangshihang1998?spm=1010.2135.3001.5343