【发布时间】:2021-04-17 13:47:16
【问题描述】:
我有一些使用 ADODB 查询 SQL 数据库的 VBA。目前我将 CommandTimeout 设置为 30 秒。如果没有返回任何内容,可能是因为 SQL 数据库中不存在此类记录,也可能是因为已达到超时。我希望能够区分这两种情况并在达到超时时显示警告。有没有办法做到这一点?
【问题讨论】:
-
如果超时,则会抛出一个错误,所以这不是问题。
-
谢谢!我没有意识到有一个错误处理程序将结果设置为空白以防出错。我可以调整它以显示警告。
-
我认为您可能想首先调查为什么会超时
-
@Charlieface 这很简单,我正在查询一个巨大的数据库,并且不希望用户等待超过 30 秒才能运行查询。我无法控制我正在查询的数据库的结构,只有 VBA。
-
我明白了。尽管如此,可以在几毫秒内使用正确的索引查询大型数据库,因此如果您有权创建索引,那么就有足够的空间来大规模加速查询