第一次机房收费系统--修改密码

前言

修改密码这个模块是机房中进行的比较早的部分,因为和学生的一样,所以自己也没有多想,就这样过去了,但是验收的时候师傅说:你认为这个设计的合理吗?我是不是只要知道他的ID和旧密码就可以随意修改?师傅让我修改,但是其实心里是有点打鼓的,觉得太复杂了,自己可能不会改!但是没有办法,硬着头皮改吧!


添加功能

1.登录用户为管理员:能修改所有操作员和一般用户的密码,但是只能修改管理员是自己的密码

2.登录用户为操作员:不能修改管理员的密码,能修改所有一般用户的密码,但是只能修改操作员是自己的密码

3.登录用户为一般用户:只能修改自己的密码


代码展示

Private Sub Command1_Click()
    '设置修改密码的权限问题,如果登陆的为管理员,则可以修改其操作员和一般用户的密码,但是管理员的密码只能修改自己的
    '如果登陆的是操作员,则可以修改一般用户的密码,但是操作员的密码只能修改自己的
    '如果是一般用户,则只可以修改自己的密码
    txtSQL = "select * from user_info where userid='" & UserName & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    Level = Trim(mrc.Fields(2))
    Select Case Level
        Case "管理员"
            '当登录的用户是管理员时只能修改管理员是自己的密码,不能修改其他人的
            txtSQL = "select * from user_info where level='管理员' and userid='" & UserName & "'"
            Set mrc2 = ExecuteSQL(txtSQL, MsgText)
            If Text4.Text = Trim(mrc2.Fields(0)) Then
            
                If Text4.Text = "" Then
                    MsgBox "用户ID不能为空,请输入!", 0 + 48, "提示"
                    Text4.SetFocus
                Else
                    '判断数据库中是否有文本框中输入的用户ID
                    txtSQL = "select * from user_info where userid='" & Trim(Text4.Text) & "'"
                    Set mrc1 = ExecuteSQL(txtSQL, MsgText)
                    If mrc1.EOF = True Then
                        MsgBox "没有该用户,请重新输入!", 0 + 48, "提示"
                        Text1.Text = ""
                        Text1.SetFocus
                    Else
                        If Text1.Text = "" Then
                            MsgBox "原密码不能为空!", vbOKOnly + vbExclamation, "警告"
                        Else
                            '判断文本框中输入的原密码是否与数据库中的一致
                            If Text1.Text <> Trim(mrc1.Fields(1)) Then
                                MsgBox "原密码错误,请重新输入!", 0 + 48, "提示"
                                Text1.Text = ""
                                Text1.SetFocus
                            Else
                                '判断新密码部分
                                If Text2.Text = "" Then
                                    MsgBox "新密码不能为空!", vbOKOnly + vbExclamation, "警告"
                                Else
                                    If Trim(Text3.Text) <> Trim(Text2.Text) Then
                                        MsgBox "两次输入密码不一致,请核对!", vbOKOnly + vbExclamation, "警告"
                                       Text2.Text = ""
                                       Text3.Text = ""
                                    Else
                                        txtSQL = "select * from user_info where userid='" & Trim(Text4.Text) & "'"
                                        Set mrc = ExecuteSQL(txtSQL, MsgText)
                                        mrc.Fields(1) = Trim(Text3.Text)
                                        mrc.Update     '打开所需数据
                                        mrc.Close    '将数据库关闭,释放资源
                                        MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            Else
                MsgBox "您没有权限修改其他管理员的密码!", 0 + 48, "警告"
                Text1.Text = ""
                Text2.Text = ""
                Text3.Text = ""
                Text4.Text = ""
                Text4.SetFocus
            End If
            
        Case "操作员"
            '不能修改管理员的密码
            txtSQL = "select * from user_info where userid='" & Trim(Text4.Text) & "'"
            Set mrc3 = ExecuteSQL(txtSQL, MsgText)
            If mrc3.Fields(2) = "管理员" Then
                MsgBox "您没有权限修改管理员的密码!", 0 + 48, "警告"
                Text1.Text = ""
                Text2.Text = ""
                Text3.Text = ""
                Text4.Text = ""
                Text4.SetFocus
             Else
                '当登录的用户是操作员时只能修改操作员是自己的密码,不能修改其他人的
                  txtSQL = "select * from user_info where level='操作员' and userid='" & UserName & "'"
                  Set mrc2 = ExecuteSQL(txtSQL, MsgText)
                  If Text4.Text = Trim(mrc2.Fields(0)) Then
                  
                      If Text4.Text = "" Then
                          MsgBox "用户ID不能为空,请输入!", 0 + 48, "提示"
                          Text4.SetFocus
                      Else
                          '判断数据库中是否有文本框中输入的用户ID
                          txtSQL = "select * from user_info where userid='" & Trim(Text4.Text) & "'"
                          Set mrc1 = ExecuteSQL(txtSQL, MsgText)
                          If mrc1.EOF = True Then
                              MsgBox "没有该用户,请重新输入!", 0 + 48, "提示"
                              Text1.Text = ""
                              Text1.SetFocus
                          Else
                              If Text1.Text = "" Then
                                  MsgBox "原密码不能为空!", vbOKOnly + vbExclamation, "警告"
                              Else
                                  '判断文本框中输入的原密码是否与数据库中的一致
                                  If Text1.Text <> Trim(mrc1.Fields(1)) Then
                                      MsgBox "原密码错误,请重新输入!", 0 + 48, "提示"
                                      Text1.Text = ""
                                      Text1.SetFocus
                                  Else
                                      '判断新密码部分
                                      If Text2.Text = "" Then
                                          MsgBox "新密码不能为空!", vbOKOnly + vbExclamation, "警告"
                                      Else
                                          If Trim(Text3.Text) <> Trim(Text2.Text) Then
                                              MsgBox "两次输入密码不一致,请核对!", vbOKOnly + vbExclamation, "警告"
                                             Text2.Text = ""
                                             Text3.Text = ""
                                          Else
                                              txtSQL = "select * from user_info where userid='" & Trim(Text4.Text) & "'"
                                              Set mrc = ExecuteSQL(txtSQL, MsgText)
                                              mrc.Fields(1) = Trim(Text3.Text)
                                              mrc.Update     '打开所需数据
                                              mrc.Close    '将数据库关闭,释放资源
                                              MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
                                          End If
                                      End If
                                  End If
                              End If
                          End If
                      End If
                  Else
                      MsgBox "您没有权限修改其他管理员的密码!", 0 + 48, "警告"
                      Text1.Text = ""
                      Text2.Text = ""
                      Text3.Text = ""
                      Text4.Text = ""
                      Text4.SetFocus
                  End If
            End If
    Case "一般用户"
        Text1.SetFocus
        '因为一般用户权限最低,所以只能修改自己的密码,那么久直接将用户同步到文本框中,不需要输入了!
        If Text1.Text = "" Then
            MsgBox "原密码不能为空!", vbOKOnly + vbExclamation, "警告"
        Else
            '判断文本框中输入的原密码是否与数据库中的一致
            If Text1.Text <> Trim(mrc1.Fields(1)) Then
                MsgBox "原密码错误,请重新输入!", 0 + 48, "提示"
                Text1.Text = ""
                Text1.SetFocus
            Else
                '判断新密码部分
                 If Text2.Text = "" Then
                    MsgBox "新密码不能为空!", vbOKOnly + vbExclamation, "警告"
                 Else
                     If Trim(Text3.Text) <> Trim(Text2.Text) Then
                        MsgBox "两次输入密码不一致,请核对!", vbOKOnly + vbExclamation, "警告"
                        Text2.Text = ""
                        Text3.Text = ""
                     Else
                        txtSQL = "select * from user_info where userid='" & Trim(Text4.Text) & "'"
                        Set mrc = ExecuteSQL(txtSQL, MsgText)
                        mrc.Fields(1) = Trim(Text3.Text)
                        mrc.Update     '打开所需数据
                        mrc.Close    '将数据库关闭,释放资源
                        MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
                     End If
                 End If
            End If
        End If
    End Select
End Sub


总结:

以上功能是在原有的基础上,通过添加Select Case语句来实现的,虽然看起来代码比较多,但是实际上操作起来还是比较简单的,只要敢动手去做就可以!虽然只是一个小小的修改密码的界面,但是让我学会了:任何时候都要相信自己,我可以完成!做什么事情多想一点点,在原有的基础上进步一点点!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值