学生信息管理系统之优化篇终结--03

前言:学生系统第一次验收完毕,测试出来了一堆bug。还需要优化的地方,有的优化是自己没有想到。有的却实是,自己测试的时候。没有测试出来,那真是自己做的系统下不了手。不舍得霍霍,还是大师厉害 。废话不多说,开始分享优化内容。

目录

下拉框禁止输入:

修改密码不能与原密码一致:

3021最终解决方案:

成绩大小判断:

总结:


下拉框禁止输入:

  要求用户只能在下拉框里面选择内容,禁止用户输入:

代码:利用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

总结:

    这次已经是第二遍完成,学生管理系统了。相对于第一遍来说,也明白了很多。多于表之间的联系,也比较清楚。整体学生的思路,与数据库之间的交互也比较清楚。总之,边学习变成长吧!

posted @ 2019-08-21 20:58  康世行  阅读(31)  评论(0编辑  收藏  举报