📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form SysLogon
Caption = "学生信息管理系统"
ClientHeight = 2670
ClientLeft = 4650
ClientTop = 2925
ClientWidth = 4245
ScaleHeight = 2670
ScaleWidth = 4245
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton cmdCancel
Caption = "退出"
Height = 375
Left = 2520
TabIndex = 5
Top = 2040
Width = 1455
End
Begin VB.CommandButton cmdOK
Caption = "登陆"
Default = -1 'True
Height = 375
Left = 480
TabIndex = 4
Top = 2040
Width = 1335
End
Begin VB.TextBox txtLog
Height = 375
IMEMode = 3 'DISABLE
Index = 1
Left = 1440
PasswordChar = "*"
TabIndex = 3
Top = 1200
Width = 2175
End
Begin VB.TextBox txtLog
Height = 375
Index = 0
Left = 1440
TabIndex = 2
Top = 480
Width = 2175
End
Begin VB.Label Label2
Caption = "密 码:"
Height = 255
Left = 720
TabIndex = 1
Top = 1320
Width = 855
End
Begin VB.Label Label1
Caption = "用户名:"
Height = 255
Left = 720
TabIndex = 0
Top = 600
Width = 735
End
End
Attribute VB_Name = "SysLogon"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Const MaxLogTimes As Integer = 3 '定义允许用户验证登录信息的最大次数
Private Sub cmdCancel_Click()
'请求用户确认是否真的退出系统登录
If MsgBox("你选择了退出系统登录,退出将不能启动管理系统!" & vbCrLf _
& "是否真的退出?", vbYesNo, "登录验证") = vbYes Then
Unload Me '卸载登录窗体
End If
End Sub
Private Sub cmdOk_Click()
intLogTimes = intLogTimes + 1 '保存登录次数,静态常量intLogTimes用于保存用户请求验证的次数
If intLogTimes > MaxLogTimes Then
'超过允许的登录次数,显示提示信息
MsgBox "你已经超过允许的登录验证次数!" & vbCr _
& "应用程序将结束!", vbCritical, "登录验证"
End '结束应用程序
Else
'检验用户名和口令的合法性,并根据检验返回值执行相应的操作
Select Case Check_PassWord()
Case 0
'用户不是系统用户
MsgBox TxtLog(0) & " 不是系统用户," _
& "请检查用户名输入是否正确!", _
vbCritical, "登录验证"
TxtLog(0).SetFocus
TxtLog(0).SelStart = 0
TxtLog(0).SelLength = Len(TxtLog(0))
Case 1
'口令错误
MsgBox "口令错误,请重新输入!", vbCritical, "登录验证"
TxtLog(1) = ""
TxtLog(1).SetFocus
Case 2
'口令正确
Unload Me '卸载登录窗体
MsgBox "登录成功,将启动系统管理程序!", _
vbInformation, "登录验证"
SysMain.Show '显示系统主窗体
Connect_Database
Case Else
'登录验证未正常完成
MsgBox "登录验证未正常完成!请重新运行登录程序," _
& vbCrLf & "如果仍不能登录,请报告系统管理员!", _
vbCritical, "登录验证"
End Select
End If
End Sub
Private Function Check_PassWord() As Byte
' On Error GoTo gpError
Connect_Database
'执行查询命令,获得用户登录口令
strSQL = "SELECT * FROM 系统用户 WHERE 用户名='" & TxtLog(0) & "'"
Set objRs.ActiveConnection = objCn
objRs.Open (strSQL), , adOpenKeyset, adLockOptimistic
'判断有无查询结果
If objRs.EOF Then
Check_PassWord = 0 '没有查询结果,表示该用户为非法用户
Else
'检查口令是否正确
If TxtLog(1) <> Trim(objRs.Fields("口令")) Then
Check_PassWord = 1 '口令不正确
Else
Check_PassWord = 2 '口令正确
'保存用户信息
CurrentUserName = objRs.Fields("用户名").Value
CurrentUserPassword = objRs.Fields("口令").Value
CurrentUserStatus = objRs.Fields("身份").Value
CurrentUserLogonTime = objRs.Fields("登陆次数").Value + 1
LastUserLogonDate = objRs.Fields("登陆日期").Value
LastUserLogonTime = objRs.Fields("登陆时间").Value
objRs.Fields("登陆日期").Value = Date
objRs.Fields("登陆时间").Value = Time()
objRs.Fields("登陆次数").Value = objRs.Fields("登陆次数").Value + 1
objRs.Update
End If
End If
Close_Database '关闭数据库连接,释放对象
Exit Function
'gpError:
' Check_PassWord = 255
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -