错误对象

包含数据访问错误(与涉及提供程序的单个操作相关)的详细信息。

备注

涉及 ADO 对象的任何操作都可能生成一个或多个提供程序错误。 每个错误发生时,一个或多个 Error 对象将放置在 Connection 对象的 Errors 集合中。 当另一个 ADO 操作生成错误时,将清除 Errors 集合,并将新的 Error 对象集放置在 Errors 集合中。

注意

每个 Error 对象表示一个特定的提供程序错误,而不是 ADO 错误。 ADO 错误向运行时异常处理机制公开。 例如,在 Microsoft Visual Basic 中,ADO 特定错误的出现将触发 On Error 事件,并显示在 Error 对象中。 有关 ADO 错误的完整列表,请参阅 ErrorValueEnum 主题。

可以读取 Error 对象的属性以获取有关每个错误的特定详细信息,包括以下内容:

  • Description 属性,其中包含错误的文本。 这是默认属性。

  • Number 属性,其中包含错误常量的长整数值。

  • Source 属性,标识引发错误的对象。 向数据源请求后,在 Errors 集合中有多个 Error 对象时,这特别有用。

  • SQLStateNativeError 属性,提供来自 SQL 数据源的信息。

发生提供程序错误时,它将放置在 Connection 对象的 Errors 集合中。 ADO 支持单个 ADO 操作返回多个错误,以允许提供程序特定的错误信息。 若要在错误处理程序中获取此丰富的错误信息,请使用正在使用的语言或环境的适当错误捕获功能,然后使用嵌套循环枚举 Errors 集合中每个 Error 对象的属性。

注意

Microsoft Visual Basic 和 VBScript 用户。如果没有有效 Connection 对象,则需要从 Error 对象中检索错误信息。

与提供程序一样,ADO 在进行可能生成新提供程序错误的调用之前,会清除 OLE 错误信息对象。 但是,仅当提供程序生成新错误或调用 Clear 方法时,才会清除并填充 Connection 对象上的 Errors 集合。

某些属性和方法返回显示为 Errors 集合中的 Error 对象的警告,但不会停止程序的执行。 在对 Recordset 对象调用 ResyncUpdateBatchCancelBatch 方法,或对 Connection 对象调用 Open 方法之前;或在设置 Recordset 对象的 Filter 属性之前,请对 Errors 集合调用 Clear 方法。 这样,就可以读取 Errors 集合的 Count 属性,以测试返回的警告。

Error 对象对于编写脚本而言不安全。

本部分包含以下主题。

另请参阅

Description、HelpContext、HelpFile、NativeError、Number、Source 和 SQLState 属性示例 (VB)
Description、HelpContext、HelpFile、NativeError、Number、Source 和 SQLState 属性示例 (VC++)
连接对象 (ADO)
错误集合 (ADO)
附录 A:提供程序