首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

2012-03-01 
为什么会跳出两个提示框?Public Class Form1Private Sub load_Click(ByVal sender As System.Object, ByVa

为什么会跳出两个提示框?
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 

热点排行