机房系统(一)——【修改密码 & 登录 】

前言
进行机房也有一段时间了,一直处于走迷宫的状态不知从何入手。从生活中出发,我们在使用某个系统时,一般情况下最先进入该系统的登录页面。现在轮到自己敲系统了,当然也是从登录开始啦。
正文
机房收费系统登录窗体的思路,和有源码的学生系统的思路是大同小异的。这次在之前基础之上加了一个判断为空或错误时的红星号提示。让用户一目了然。
初步流程图如下:

在这里插入图片描述


实现上述功能的部分代码如下:
'判断输入用户名或密码是否为空,分为空值和非空值两种情况
    If Trim(txtUserName.Text = "") Or Trim(txtPassword.Text = "") Then '1、如果用户名或者密码为空,则弹出提示框
        MsgBox "用户名或密码不能为空,请您重新输入!", vbOKOnly + vbExclamation, "温馨提示"
        
        '为空时给予红色星号提示
        If Trim(txtUserName.Text = "") Then
            Label4.Visible = True
            txtUserName.SetFocus    '用户名文本框获得焦点
        Else
            Label5.Visible = True
            txtPassword.SetFocus
        End If

 '2、用户名和密码不为空,执行下一步,查询数据库中信息,判断输入信息是否正确
        
    Else
        
        '查询数据库中的用户名
        txtSQL = "select * from User_info where userID= '" & txtUserName.Text & "'"      '查询指定用户名的记录
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        '判断指定用户表里是否有所输入的用户信息
        If mrc.EOF = True Then      '1、如果记录集搜索到了最后一条信息,没有找到该用户信息,则弹出提示框
            MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "温馨提示"
            txtUserName.Text = ""       '将所输入的用户名清空
            txtPassword.Text = ""       '将所输入的密码清空
            txtUserName.SetFocus        '用户名文本框获得焦点
        Else  
		
		 '判断输入的密码是否正确
            If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then    '将所输入的密码和数据库中记录信息进行对比,两者相同,执行下一步,判断用户所属级别
                    UserName = Trim(mrc.Fields(1))
                    '判断级别,提示用户
                    If Trim(mrc.Fields(2)) = "管理员" Then
                        MsgBox "登录成功!您当前身份是管理员。拥有所有使用权限。", 48, "温馨提示:"
                        frmMain.Show    'FrmMain窗体显示出来
                    Else
                        If Trim(mrc.Fields(2)) = "操作员" Then
                            MsgBox "登录成功!您当前身份是操作员。", 48, "温馨提示:"
                            frmMain.Show    'FrmMain窗体显示出来
                            frmMain.Administrator.Visible = False
                        Else
                            MsgBox "登录成功!您当前身份是一般用户。", 48, "温馨提示"
                            frmMain.Show    'FrmMain窗体显示出来
                            frmMain.Administrator.Visible = False
                            frmMain.Operator.Visible = False
                        End If
                        
                    End If
	
			'连接数据库,将登录信息输入到数据表里
                    txtSQLa = "select * from OnWork_Info"
                    Set mra = ExecuteSQL(txtSQLa, Msgtexta)
                    
                        mra.AddNew
                        mra.Fields(0) = UserName
                        mra.Fields(1) = Trim(mrc.Fields(2))
                        mra.Fields(2) = Date
                        mra.Fields(3) = Time
                        mra.Fields(4) = "LZ"
                        mra.Update
                        
                    txtSQLb = "select * from worklog_Info"
                    Set mrb = ExecuteSQL(txtSQLb, Msgtextb)
                        mrb.AddNew
                        mrb.Fields(1) = UserName
                        mrb.Fields(2) = Trim(mrc.Fields(2))
                        mrb.Fields(3) = Date
                        mrb.Fields(4) = Time
                        mrb.Fields(7) = "LZ"
                        mrb.Fields(8) = Str(True)
                        mrb.Update
                    
                    mrc.Close  '记录集关闭
                    Me.Hide    '登录窗体隐藏
                    frmMain.Show    'FrmMain窗体显示出来

登录成功之后,最直接的操作就是修改密码。所以接下来就进行修改密码的设置。
流程图如下:

在这里插入图片描述


实现上述功能的部分代码如下:
'判断原始密码输入框与登录窗体的密码是否一致
    '分为不一致与一致两种情况
    If Trim(txtOldWord.Text) <> Trim(frmLogin.txtPassword.Text) Then '情况1,如果不一致,弹出提示框提示用户
        MsgBox "原始密码输入不正确!", 48, "温馨提示:"
        txtOldWord.SetFocus
        txtOldWord.Text = ""
        txtNewWord1.Text = ""
        txtNewWord2.Text = ""
        Exit Sub
    Else        '情况2,判断一致则执行下一步
                '判断新密码与原始密码是否相同
        If Trim(txtNewWord1.Text) = Trim(frmLogin.txtPassword.Text) Then '1、新密码与原始密码相同,弹出提示框提示用户
            MsgBox "与原始密码相同,请您重新设置!", 48, "温馨提示:"
            txtNewWord1.Text = ""
            txtNewWord2.Text = ""
            Exit Sub
        Else      '新密码与原始密码不同则执行下一步
                  '判断两次新密码输入是否相同
            If Trim(txtNewWord1.Text) <> Trim(txtNewWord2.Text) Then  '如果两次新密码输入不一致,则弹出提示框提示用户
                MsgBox "新密码输入不一致,请重新确认!", 48, "温馨提示:"
                txtNewWord1.SetFocus
                txtNewWord1.Text = ""
                txtNewWord2.Text = ""
            Else    '如果两次新密码输入一致,则执行下一步,将新密码更新到数据库中
                txtSQL = "select * from User_Info where UserID='" & Trim(frmLogin.txtUserName.Text) & "'" '查询该条记录信息
                Set mrc = ExecuteSQL(txtSQL, MsgText) '执行查询语句
                mrc.Fields(1) = txtNewWord1 '将新设置的密码赋给记录集,更新数据库
                mrc.Update
                mrc.Close
                MsgBox "密码修改成功!", 48, "温馨提示:"
                

结语
这次接触比较多的就是数据表了,所以,在刚开始的时候,弄清数据库中表的含义是很关键的。要注意连接数据表的问题,把修改后的信息及时更新到相应数据表对应的列中,保持数据库中表中的信息是最新的。

猜你喜欢

转载自blog.csdn.net/LZ15932161597/article/details/83831395