第一次机房收费系统--修改密码
2016-09-27 21:16
281 查看
前言
修改密码这个模块是机房中进行的比较早的部分,因为和学生的一样,所以自己也没有多想,就这样过去了,但是验收的时候师傅说:你认为这个设计的合理吗?我是不是只要知道他的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语句来实现的,虽然看起来代码比较多,但是实际上操作起来还是比较简单的,只要敢动手去做就可以!虽然只是一个小小的修改密码的界面,但是让我学会了:任何时候都要相信自己,我可以完成!做什么事情多想一点点,在原有的基础上进步一点点!相关文章推荐
- [第一次机房收费系统]修改密码界面优化
- 第一次机房收费系统—修改密码后重新登录
- 机房收费系统之修改密码
- 机房收费系统之修改密码
- 机房收费系统——修改密码
- 机房收费系统——修改密码
- 机房收费系统之修改密码
- 第一次机房收费系统——饮血
- 第一次机房收费系统——电刀
- 第一次机房收费系统【总结】——结账
- 第一次机房收费系统——幽梦
- 第一次机房收费系统-回顾总结(二)
- 第一次机房收费系统--MDI主窗体与子窗体的显
- 第一次机房收费系统--安装连接之初体验
- 第一次机房收费系统【调错】——多步OLE DB操作产生错误
- 第一次机房收费系统之导出到Excel
- 第一次机房收费系统总结
- 【机房收费系统】第一次机房收费系统之er图、实体联系图小试
- 机房收费系统修改篇
- 【软工学习】第一次机房收费系统文档