VB登陆界面,text1和text2还有Command1,我想输入三次密码错误后,他就提示休息三分钟并且停止操作三分钟
连接access数据库的,text1和text2当作账号和密码,Command1当作确定按钮在text1和text2中输入数据,要是access数据库中没有这个数据的话,...
连接access数据库的,text1和text2当作账号和密码,Command1当作确定按钮
在text1和text2中输入数据,要是access数据库中没有这个数据的话,他就提示账号或密码错误,请在次输入,要是连续三次输入错误,他就提示出“你已三次错误请休息三分钟”并且停止在次输入,要过三分钟后才可以在次输入 展开
在text1和text2中输入数据,要是access数据库中没有这个数据的话,他就提示账号或密码错误,请在次输入,要是连续三次输入错误,他就提示出“你已三次错误请休息三分钟”并且停止在次输入,要过三分钟后才可以在次输入 展开
3个回答
展开全部
Static Try_Times As Integer '//设置静态变量,存储不成功的登录次数
If Text1(0).Text = "" Then
MsgBox "用户名不能为空!", vbOKOnly + vbInformation, "友情提示"
Text1(0).SetFocus
Exit Sub
End If
If Text1(1).Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbInformation, "友情提示"
Text1(1).SetFocus
Exit Sub
End If
Dim strSQl As String
strSQl = "select * from Users where user_name='" & Trim$(Text1(0).Text) & "' and password='" & Trim$(Text1(1).Text) & "' "
Dim str As New ADODB.Recordset
Set str = New ADODB.Recordset
str.CursorLocation = adUseClient
str.Open strSQl, db, adOpenStatic, adLockReadOnly
With str
If .State = adStateOpen Then .Close
.Open strSQl
If .EOF Then
Try_Times = Try_Times + 1
If Try_Times >= 3 Then
MsgBox "你已三次错误请休息三分钟", vbOKOnly + vbCritical, "警告"
text1(0).enabled=false '//不可操作状态
text1(1).enabled=false
Timer1.enabled=true '///此处进入计时
Else
MsgBox "对不起,用户名不存在或密码错误 !", vbOKOnly + vbQuestion, "警告"
Text1(0).SetFocus
Text1(0).Text = ""
Text1(1).Text = ""
End If
Else
UID = Text1(0).Text
With frmMain
'//登录成功,那么就将登陆按钮设置为false
!mnuLogin.Enabled = False
End With
frmMain.StatusBar1.Panels(2).Text = "当前用户为:" & UID
Try_Times = 0 ' 将不成功登录次数清零,方便下次登录!
XXXX.Show '登录进入的另一个界面
Unload Me
End If
End With
然后在定时器中加入三分钟的时间判断,不做赘述
If Text1(0).Text = "" Then
MsgBox "用户名不能为空!", vbOKOnly + vbInformation, "友情提示"
Text1(0).SetFocus
Exit Sub
End If
If Text1(1).Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbInformation, "友情提示"
Text1(1).SetFocus
Exit Sub
End If
Dim strSQl As String
strSQl = "select * from Users where user_name='" & Trim$(Text1(0).Text) & "' and password='" & Trim$(Text1(1).Text) & "' "
Dim str As New ADODB.Recordset
Set str = New ADODB.Recordset
str.CursorLocation = adUseClient
str.Open strSQl, db, adOpenStatic, adLockReadOnly
With str
If .State = adStateOpen Then .Close
.Open strSQl
If .EOF Then
Try_Times = Try_Times + 1
If Try_Times >= 3 Then
MsgBox "你已三次错误请休息三分钟", vbOKOnly + vbCritical, "警告"
text1(0).enabled=false '//不可操作状态
text1(1).enabled=false
Timer1.enabled=true '///此处进入计时
Else
MsgBox "对不起,用户名不存在或密码错误 !", vbOKOnly + vbQuestion, "警告"
Text1(0).SetFocus
Text1(0).Text = ""
Text1(1).Text = ""
End If
Else
UID = Text1(0).Text
With frmMain
'//登录成功,那么就将登陆按钮设置为false
!mnuLogin.Enabled = False
End With
frmMain.StatusBar1.Panels(2).Text = "当前用户为:" & UID
Try_Times = 0 ' 将不成功登录次数清零,方便下次登录!
XXXX.Show '登录进入的另一个界面
Unload Me
End If
End With
然后在定时器中加入三分钟的时间判断,不做赘述
展开全部
用个变量存一下输入错误的次数呗。如果该变量为3了,就将文本框的 enabel 属性设置为 false。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
弄一个变量记录点击的次数并在数据库中添加一个表,该表中有两个字段:当前机器号和时间,如果在输入了三次之后还没有成功把当前机器号和当前时间存到数据库中,然后第四次的时候拿着当前时间和这个时间比较,如果得出的差小于3,那么提示“你已三次错误请休息三分钟”类似的信息,直到超过三分钟的时候把变量清空并且将数据库中存放机器号和时间的那个表清除,重新开始即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询