如何判断是否达到了 ADODB CommandTimeout?

问题描述

我有一些使用 ADODB 查询 sql 数据库的 VBA。目前我将 CommandTimeout 设置为 30 秒。如果未返回任何内容,则可能是因为 sql 数据库中不存在此类记录,或者因为已达到超时。我希望能够区分这两种情况并在达到超时时显示警告。有没有办法做到这一点?

解决方法

首先阅读:ADO Event Instantiation: Visual Basic

检查 EventStatusEnum 以获取 adStatusOK - 在超时的情况下不应设置。

你也可以赶上“InfoMessage” InfoMessage Event 以在运行查询时查看 SSMS 中的信息。