学生信息管理系统之优化篇终结--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
总结:
这次已经是第二遍完成,学生管理系统了。相对于第一遍来说,也明白了很多。多于表之间的联系,也比较清楚。整体学生的思路,与数据库之间的交互也比较清楚。总之,边学习变成长吧!
文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。
原文链接:kangshihang.blog.csdn.net/article/details/99995451
- 点赞
- 收藏
- 关注作者
评论(0)