【发布时间】:2012-10-05 19:04:02
【问题描述】:
我查看了所有的 VB6 错误编号,但无济于事,似乎命令对象本身负责后台的错误消息框。我需要知道的是他们是否以某种方式更改 ADODB.CommandTimeout 错误本身的 MsgBox。我的第一个想法是捕获错误(使用错误号),然后以这种方式设置 MsgBox。但是,我找不到有关处理 ADO 事件的任何错误号的任何文档。有什么建议吗?
【问题讨论】:
标签: sql-server-2005 vb6
我查看了所有的 VB6 错误编号,但无济于事,似乎命令对象本身负责后台的错误消息框。我需要知道的是他们是否以某种方式更改 ADODB.CommandTimeout 错误本身的 MsgBox。我的第一个想法是捕获错误(使用错误号),然后以这种方式设置 MsgBox。但是,我找不到有关处理 ADO 事件的任何错误号的任何文档。有什么建议吗?
【问题讨论】:
标签: sql-server-2005 vb6
不管它值多少钱,错误代码都是 0x80040e31。您可以谷歌搜索“错误 80040e31 超时已过期”。当然,您可以在代码中检查该错误状态。
以下是 ADO 错误代码列表:
【讨论】:
好吧,我变聪明了,用了这个:
On Error GoTo ERRS
....
ERRS:
MsgBox Err.Number
这给了我要捕获的特定错误号(在本例中:“-2147217871”),然后使用简单的 If 语句来测试错误号是否 = -2147217871,如果是,则显示我的 MsgBox。像魅力一样工作(嗯,我猜,与 VB6 和 ADO 一样多的“魅力”)。我仍然习惯于 VB6 的遗留错误处理。感谢 paulsm4 或您的帮助!
【讨论】: