一个关于vb on Error GOTO 的问题请教大家。

来源:百度知道 编辑:UC知道 时间:2024/09/26 14:06:16
AdoRs.Open "select * from user_info", Cnn, adOpenKeyset
On Error GoTo error_1:
If AdoRs.RecordCount > 0 Then
Me.txtUserName.Clear
Do While AdoRs.EOF = False
Me.txtUserName.AddItem (AdoRs.Fields("user_name"))
AdoRs.MoveNext
Loop
AdoRs.Close
End If

error_1:
MsgBox ("请检查你的数据库是否已经正常启动!")

这是我的一个读取数据的代码,如果出现错误我就提示,可是现在我的数据能够读出来,可是为什么程序还会出现提示呢?
on ERROR go to 不是只有出现错误的时候才跳转吗?
可是我的程序没有出现错误啊,为什么也去执行了?
大家帮助。谢谢
Private Sub Form_Load()

AdoRs.Open "select * from user_info", Cnn, adOpenKeyset

On Error GoTo error_1:

If AdoRs.RecordCount > 0 Then
Me.txtUserName.Clear
Do While AdoRs.EOF = False
Me.txtUserName.AddItem (AdoRs.Fields("user_name"))
AdoRs.MoveNext
Loop
AdoRs.Close
Exit Sub
End If

error_1:

MsgBox ("请检查你的数据库是否已经正常启动!&qu

答案补充:你不好好看我的答案,End If和Exit Sub的顺序,你再看看!
==========================
End IF前面加上Exit Sub。也就是
……
End If
Exit Sub

error_1:
……

error_1: 应该放在end sub之后,以前也遇到过,后来想明白了

AdoRs.Open "select * from user_info", Cnn, adOpenKeyset
On Error GoTo error_1:
If AdoRs.RecordCount > 0 Then
Me.txtUserName.Clear
Do While AdoRs.EOF = False
Me.txtUserName.AddItem (AdoRs.Fields("user_name"))
AdoRs.MoveNext
Loop
AdoRs.Close
End If
exit sub'加一句,没有错误的话,到这结束程序

error_1:
MsgBox ("请检查你的数据库是否已经正常启动!")

在error_1: 的上面一行加个Exit sub

程序从上往下运行,你不主动跳出,当然会继续往下咯