Sql server 2005 VB6如何捕获ADO命令超时错误并显示自定义MsgBox
我查看了所有的VB6错误号,但没有结果,看起来命令对象本身负责后台的错误消息框。我需要知道的是,他们是否以某种方式更改了ADODB.CommandTimeout错误本身的MsgBox。我的第一个想法是捕捉错误(使用错误号),然后以此方式设置MsgBox。但是,我找不到任何关于处理ADO事件的错误号的文档。有什么建议吗?不管它值多少钱,错误代码都是0x80040e31。您可以搜索“错误80040e31超时已过期”。当然,您可以在代码中检查错误状态 以下是ADO错误代码列表:Sql server 2005 VB6如何捕获ADO命令超时错误并显示自定义MsgBox,sql-server-2005,vb6,Sql Server 2005,Vb6,我查看了所有的VB6错误号,但没有结果,看起来命令对象本身负责后台的错误消息框。我需要知道的是,他们是否以某种方式更改了ADODB.CommandTimeout错误本身的MsgBox。我的第一个想法是捕捉错误(使用错误号),然后以此方式设置MsgBox。但是,我找不到任何关于处理ADO事件的错误号的文档。有什么建议吗?不管它值多少钱,错误代码都是0x80040e31。您可以搜索“错误80040e31超时已过期”。当然,您可以在代码中检查错误状态 以下是ADO错误代码列表: 好吧,我很聪明,用
- 好吧,我很聪明,用了这个:
On Error GoTo ERRS
....
ERRS:
MsgBox Err.Number
这给了我要捕获的特定错误号(在本例中为“-2147217871”),然后使用一个简单的If语句测试错误号是否为“-2147217871”,如果是,则显示我的MsgBox。就像一个符咒一样工作(我想,它的“符咒”和VB6和ADO一样多)。我仍然习惯于VB6的遗留错误处理。感谢paulsm4或您的帮助 好的,我有一个ADO对象本身的通用错误代码列表,我们知道运行时错误。现在,我的问题是自己在VB6中捕获错误并向用户显示自定义MsgBox。我有一个非常令人信服的理由。我不能发布细节,但是的,它足够引人注目。。。我想不管怎么说,我终于明白了,马上就把答案贴出来了。