前言
进行机房也有一段时间了,一直处于走迷宫的状态不知从何入手。从生活中出发,我们在使用某个系统时,一般情况下最先进入该系统的登录页面。现在轮到自己敲系统了,当然也是从登录开始啦。
正文
机房收费系统登录窗体的思路,和有源码的学生系统的思路是大同小异的。这次在之前基础之上加了一个判断为空或错误时的红星号提示。让用户一目了然。
初步流程图如下:
实现上述功能的部分代码如下:
登录成功之后,最直接的操作就是修改密码。所以接下来就进行修改密码的设置。
流程图如下:
实现上述功能的部分代码如下:
结语
这次接触比较多的就是数据表了,所以,在刚开始的时候,弄清数据库中表的含义是很关键的。要注意连接数据表的问题,把修改后的信息及时更新到相应数据表对应的列中,保持数据库中表中的信息是最新的。
进行机房也有一段时间了,一直处于走迷宫的状态不知从何入手。从生活中出发,我们在使用某个系统时,一般情况下最先进入该系统的登录页面。现在轮到自己敲系统了,当然也是从登录开始啦。
正文
机房收费系统登录窗体的思路,和有源码的学生系统的思路是大同小异的。这次在之前基础之上加了一个判断为空或错误时的红星号提示。让用户一目了然。
初步流程图如下:
实现上述功能的部分代码如下:
'判断输入用户名或密码是否为空,分为空值和非空值两种情况
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, "温馨提示:"
结语
这次接触比较多的就是数据表了,所以,在刚开始的时候,弄清数据库中表的含义是很关键的。要注意连接数据表的问题,把修改后的信息及时更新到相应数据表对应的列中,保持数据库中表中的信息是最新的。