【问题标题】:VB6 How to catch an ADO Command Timeout error and display custom MsgBoxVB6 如何捕获 ADO 命令超时错误并显示自定义 MsgBox
【发布时间】:2012-10-05 19:04:02
【问题描述】:

我查看了所有的 VB6 错误编号,但无济于事,似乎命令对象本身负责后台的错误消息框。我需要知道的是他们是否以某种方式更改 ADODB.CommandTimeout 错误本身的 MsgBox。我的第一个想法是捕获错误(使用错误号),然后以这种方式设置 MsgBox。但是,我找不到有关处理 ADO 事件的任何错误号的任何文档。有什么建议吗?

【问题讨论】:

    标签: sql-server-2005 vb6


    【解决方案1】:

    不管它值多少钱,错误代码都是 0x80040e31。您可以谷歌搜索“错误 80040e31 超时已过期”。当然,您可以在代码中检查该错误状态。

    以下是 ADO 错误代码列表:

    【讨论】:

    • 好的,所以我有一个 ADO 对象本身的通用错误代码列表,我们知道运行时错误。现在,我的问题是自己在 VB6 中发现错误并向用户显示自定义 MsgBox。
    • 我确实有一个非常令人信服的理由。我不能发布细节,但是是的,它足够引人注目......我想sigh无论如何,我终于想通了,一会儿发布答案。
    【解决方案2】:

    好吧,我变聪明了,用了这个:

    On Error GoTo ERRS
    ....
    ERRS:
        MsgBox Err.Number
    

    这给了我要捕获的特定错误号(在本例中:“-2147217871”),然后使用简单的 If 语句来测试错误号是否 = -2147217871,如果是,则显示我的 MsgBox。像魅力一样工作(嗯,我猜,与 VB6 和 ADO 一样多的“魅力”)。我仍然习惯于 VB6 的遗留错误处理。感谢 paulsm4 或您的帮助!

    【讨论】:

      猜你喜欢
      • 2015-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 2019-12-17
      相关资源
      最近更新 更多