读书人

为什么会跳出两个提示框?该如何解决

发布时间: 2012-03-01 10:25:47 作者: rapoo

为什么会跳出两个提示框?
Public Class Form1

Private Sub load_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles load.Click, load.Click

Dim Cnn As New ADODB.Connection '定义数据链接对象,保存连接数据库信息;请先添加ADO引用
Dim Rs As New ADODB.Recordset '定义记录集对象,保存数据表

Dim strCnn = "Provider=SQLNCLI;Server=服务大众;Database=qzsyck;Trusted_Connection=yes;"
Cnn.Open(strCnn)

Rs.Open("select * from userpw", Cnn) '定义SQL查询命令字符串

Dim loadTF As Integer
loadTF = 0

'循环
Do Until Rs.EOF

If (Rs("user").Value.trim().Equals(user.Text()) And Rs("password").Value.trim().Equals(password.Text())) Then

loadTF = 1

End If

Rs.MoveNext()
Loop

If loadTF = 1 Then

MsgBox("登录成功")
Else

MsgBox("登录失败")

End If

Rs.Close()
Cnn.Close()
End Sub
End Class

代码如上,为什么会重复跳出两个提示框?比如输入正确的用户名密码,提示登录成功,但是却是跳出两遍,反之,登录失败,一样跳出两次提示框??奇怪!!

[解决办法]
Do循环中 loadTF = 1 的下面加上一句:exit do

[解决办法]
上下各加一句,然后测试,怀疑你的鼠标有问题。

VB.NET code
Private Sub load_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles load.Click        load.Enabled = False        '        '你的语句        '        load.Enabled = True    End Sub
[解决办法]
If loadTF = 1 Then
MsgBox("登录成功")
exit do
Else
MsgBox("登录失败")
exit do
End If
这样改试试
[解决办法]
这2行Rs.Close(),Cnn.Close()放到If loadTF = 1 Then的前面试试

[解决办法]
代码看起来没问题,其实调试一下就知道了,看2次弹出代码是怎么运行顺序的。
[解决办法]
探讨
代码看起来没问题,其实调试一下就知道了,看2次弹出代码是怎么运行顺序的。

[解决办法]
VB.NET code
'Private Sub load_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles load.Click, load.Click  改为:Private Sub load_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles load.Click 

读书人网 >VB

热点推荐