管理 RDO 错误和消息

每当 ODBC 驱动程序管理器用于执行 RDO 请求时,Visual Basic, ODBC 接口或远程服务器都可能产生错误。这些错误严重程度不一,有时可能迫使该查询被取消或放弃。

Visual Basic 所产生的所有错误都会触发一个可捕获的错误,可以用 On Error 语句捕获到它。ODBC 中间件或远程服务器产生的错误都放置在 rdoErrors 集合中。一旦被 RDO 所调用的 ODBC 函数返回了 SQL_ERROR 结果码,Visual Basic 将触发一个可捕获的错误,表明发生了一个 ODBC 错误。这时可以检查 rdoErrors 集合的每个成员以获得导致错误的详细信息。

如果 ODBC API 函数的返回码被设为 SQL_SUCCESS_WITH_INFO,则数据源返回的信息消息将不会触发可捕获的错误。这些消息被放置在 rdoErrors 集合中。

在发生与 ODBC 操作不直接相关的错误时,Visual Basic 也会产生可以捕获的错误。例如,如果在执行 CreateQuery 方法之后试图设置 rdoParameters 集合,就可能遇到可以捕获的错误,表明该对象是不存在的。这可能是由于 RDO 无法根据查询的语法建立一个 rdoParameters 集合而导致的。可以在 On Error 处理程序中检查 Err 和 Error 属性以决定将要进行的操作。

在检查了 rdoErrors 集合之后,就可以使用 Clear 方法清除其内容了。这可以防止在随后检查 rdoErrors 集合的错误时发生混淆,仅仅发现了那些来自早期操作的残存信息,这些信息可能与当前的问题毫无关系。

在执行一个查询时,会触发 QueryComplete 事件,无论该查询是否执行成功。可以检查 ErrorOccurred Boolean 标志以确定查询是否成功,类似地,通过检查 Connected 事件的 ErrorOccurred 标志也可以确定连接操作是否成功。

详细信息   请参阅《语言参考》中的“rdoError 对象”或“rdoDefaultErrorThreshold 属性”。