VB版机房收费系统”登录“--02

举报
ksh1998 发表于 2021/12/26 01:01:26 2021/12/26
【摘要】 前言:所有软件一开始第一个功能都是登录,所以登录可以说是用户体验度非常重要的一个环节。假如:你的登录页面做的非常的不好看,而且用户登录的时间还长。这个会大大的影响到用户后面的功能体验,所以登录功能担任的非常重要的角色。 目录 界面: 流程图: 功能代码: 模块: 获取计算机名称:: 权限声明:  程序入口: ...

前言:所有软件一开始第一个功能都是登录,所以登录可以说是用户体验度非常重要的一个环节。假如:你的登录页面做的非常的不好看,而且用户登录的时间还长。这个会大大的影响到用户后面的功能体验,所以登录功能担任的非常重要的角色。

目录

界面:

流程图:

功能代码:

模块:

获取计算机名称::

权限声明: 

程序入口:

窗体:

登录窗体:

主窗体:


界面:

流程图:

功能代码:

模块:

获取计算机名称::


  
  1. '用于获得计算机名的api函数
  2. Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal
  3. lpBuffer As String, nSize As Long) As Long '用于获取计算机名

  
  1. Function ComputerName() As String '定义获取当前计算机名的函数
  2. Dim CoName As String
  3. CoName = String(255, Chr$(0))
  4. GetComputerName CoName, 255
  5. CoName = Left(CoName, InStr(1, CoName, Chr$(0)) - 1)
  6. ComputerName = CoName
  7. End Function

权限声明: 

Public Userlevel As String '获取用户等级,方便做权限的判断。
 

程序入口:


  
  1. Sub Main() '程序进口显示登录窗体
  2. Dim fLogin As New forlogin '定义窗体对象
  3. forlogin.Show vbModal '显示登录窗体实例
  4. End Sub

窗体:

登录窗体:


  
  1. 通用声明
  2. Dim miCount As Integer '记录登录次数
  3. Private Sub cmddetermine_Click()
  4. '用于连接数据库,进行查询使用。
  5. Dim txtSQL As String
  6. Dim mrc As ADODB.Recordset '连接数据库
  7. Dim Msgtext As String
  8. '初始化全局变量
  9. UserName = "" '储存全局用户
  10. UserPWD = "" '储存密码
  11. Userlevel = "" '储存等级
  12. '判断用户名是否为空
  13. If txtname.Text = "" Then
  14. MsgBox "请输入用户名!", vbOKCancel + vbExclamation, "警告"
  15. txtname.SetFocus '获取焦点
  16. Else
  17. txtSQL = "select * from user_Info where userID=' " & txtname.Text & "'" '根据条件查询
  18. Set mrc = ExecuteSQL(txtSQL, Msgtext) '执行txtsql
  19. '判断用户是否存在
  20. If mrc.EOF = True Then
  21. MsgBox "用户不存在,请从新输入!", vbOKOnly + vbExclamation, "警告"
  22. txtname.Text = "" '清空
  23. txtname.SetFocus '获取焦点
  24. Else
  25. '账号是否已经登录
  26. Dim onworksql As String '存储SQL语句
  27. Dim onwormrc As ADODB.Recordset '数据集
  28. Dim onmsgtext As String '记录信息
  29. onworksql = "select * from onwork_Info where userID='" & txtname.Text & "'" '获取正在上级表
  30. Set onwormrc = ExecuteSQL(onworksql, onmsgtext) '执行SQL语句
  31. '判断用户是否已经登录
  32. If Trim(onwormrc.EOF = False) Then '如果已经登录
  33. MsgBox "此账号已经登录,请从新输入!", vbOKOnly + vbExclamation, "警告"
  34. txtname.Text = ""
  35. txtname.SetFocus
  36. Else '如果没有登录
  37. '判断密码是否正确
  38. If Trim(mrc.Fields(1)) = Trim(txtpwd.Text) Then
  39. '跟全局变量赋值
  40. UserName = Trim(txtname.Text)
  41. UserPWD = Trim(txtpwd.Text)
  42. Userlevel = Trim(mrc.Fields(2)) '等级赋值
  43. mrc.Close '关闭数据集
  44. Unload forlogin
  45. formmain.Show
  46. Else
  47. MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
  48. txtpwd.SetFocus
  49. txtpwd.Text = ""
  50. End If
  51. End If
  52. End If
  53. End If
  54. '记载输入密码次数
  55. miCount = miCount + 1
  56. If miCount > 3 Then
  57. MsgBox "已经是最后一次机会了!", vbOKOnly + vbExclamation, "警告"
  58. End '退出登录
  59. End If
  60. Exit Sub '退出过程
  61. End Sub

主窗体:

调用:在窗体加载事件调用


  
  1. Private Sub MDIForm_Load()
  2. Call level '调用判断等级过程,实现判断不同用户级别。
  3. End Sub

权限判断:


  
  1. '权限判断和更新值班表与工作记录表
  2. Private Sub level()
  3. '等级判断
  4. If Trim(Userlevel = "管理员") Then
  5. '所有功能都可以使用
  6. Me.generaluser.Enabled = True
  7. Me.operator.Enabled = True
  8. Me.adminsitrator.Enabled = True
  9. Call onupdate '更新表
  10. ElseIf Trim(Userlevel = "操作员") Then
  11. '只有一般用户和操作员功能可用
  12. Me.generaluser.Enabled = True
  13. Me.operator.Enabled = True
  14. Me.adminsitrator.Enabled = False
  15. Call onupdate '更新表
  16. Else
  17. '只有一般用户可用
  18. Me.generaluser.Enabled = True
  19. Me.operator.Enabled = False
  20. Me.adminsitrator.Enabled = False
  21. End If
  22. End Sub

数据库更新:


  
  1. '更新正在上机表和上机记录表
  2. Private Sub onupdate()
  3. '更新值班表
  4. Dim onworksql As String
  5. Dim onworkmrc As ADODB.Recordset
  6. Dim onmsgtext As String
  7. onworksql = "select * from onwork_Info" '查询值班表
  8. Set onworkmrc = ExecuteSQL(onworksql, onmsgtext) '执行sql
  9. onworkmrc.AddNew '添加记录
  10. onworkmrc.Fields(0) = Trim(UserName) '用户id
  11. onworkmrc.Fields(1) = Trim(Userlevel) '用户等级
  12. onworkmrc.Fields(2) = Trim(Date) '登录日期
  13. onworkmrc.Fields(3) = Trim(Time) '登录时间
  14. onworkmrc.Fields(4) = Trim(ComputerName) '计算机名
  15. onworkmrc.Update '更新
  16. onworkmrc.Close '关闭
  17. '更新工作记录
  18. Dim worksql As String
  19. Dim workmrc As ADODB.Recordset
  20. Dim workmsgtext As String
  21. worksql = "select * from worklog_Info" '获取工作记录表
  22. Set workmrc = ExecuteSQL(worksql, workmsgtext) '执行sql
  23. workmrc.AddNew '添加记录
  24. workmrc.Fields(1) = Trim(UserName) '用户id
  25. workmrc.Fields(2) = Trim(Userlevel) '用户级别
  26. workmrc.Fields(3) = Trim(Date) '登录日期
  27. workmrc.Fields(4) = Trim(Time) '登录时间
  28. workmrc.Fields(7) = Trim(ComputerName) '计算机名
  29. workmrc.Fields(8) = Trim("True") '状态
  30. workmrc.Update '更新
  31. workmrc.Close '关闭数据集
  32. End Sub

 

文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。

原文链接:kangshihang.blog.csdn.net/article/details/100730767

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200