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

AdoRs.Open"select*fromuser_info",Cnn,adOpenKeysetOnErrorGoToerror_1:IfAdoRs.RecordCou... 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 不是只有出现错误的时候才跳转吗?
可是我的程序没有出现错误啊,为什么也去执行了?
大家帮助。谢谢
展开
 我来答
匿名用户
2013-08-13
展开全部
错误处理在VB中较常见的应用.

VB错误处理,一般放在整个模块最后或者函数的最后.在发生错误时,利用goto 标签名 这样的语句来进行跳转.这其实是一个过程程序设计里常用的语法形式.做这个之前,你心里得对程序有一个大概了解.

错误处理标签及语句必须放在SUB过程及函数过程里.但VB是逐条执行语句的,所以,如果你没有特殊标记,它会把你写的代码全部执行完.这就是你的程序出现错误的原因.

怎么处理呢?在VB中,有一个退出过程与函数的方法.那就是exit sub或者exit function在你的错误标签前面,紧挨着标签,也就是错误标签的前一行,加上结束过程或者结束函数的语句告诉VB我的函数或者过程已经完成.

明白了吗?
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
匿名用户
推荐于2018-05-01
展开全部
把程序第二行 On Error GoTo error_1 后边那个冒号去掉,
在第十行End If和error_1之间加一句Exit 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 ("请检查你的数据库是否已经正常启动!")
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-13
展开全部
on error goto 语句的确是可以跳到指定位置执行需要代码,但是如果程序没错,而跳转语句在该代码段后面是也会被执行的,因为你在error_1之前没先跳出这段代码.修改方法:在error_1和End If之间加一句Exit Sub即可.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-13
展开全部
您好,您也许可以使用以下方法进行修改,即增加两行代码:

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

nexta:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式