Error 对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息。

objconn

parchildcolerrorparacrosobjerror

说明

任何涉及 ADO 对象的操作都会生成一个或多个提供者错误。每个错误出现时,一个或多个 Error 对象将被放到 Connection 对象的 Errors 集合中。当另一个 ADO 操作产生错误时,Errors 集合将被清空,并在其中放入新的 Error 对象集。

注意   每个 Error 对象都代表特定的提供者错误而不是 ADO 错误,ADO 错误被记载到运行时的例外处理机制中。例如,在 Microsoft Visual Basic 中,产生特定 ADO 的错误将触发 On Error 事件并出现在 Err 对象中。关于 ADO 错误的完整列表,请参阅 ADO 错误代码主题。

通过 Error 对象的属性可获得每个错误的详细信息,其中包括以下内容:

?Description 属性,包含错误的文本。

 

?Number 属性,包含错误常量的长整型整数值。

 

?Source 属性,标识产生错误的对象。在向数据源发出请求之后,如果 Errors 集合中有多个 Error 对象,则将会用到该属性。

 

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

出现提供者错误时,Error 对象将被放在 Connection 对象的 Errors 集合中。ADO 支持由单个 ADO 操作返回多个错误,以便显示特定提供者的错误信息。要在错误处理程序中获得丰富的错误信息,可使用相应的语言或所在工作环境下的错误捕获功能,然后使用嵌套循环枚举出 Errors 集合的每个 Error 对象的属性。

Microsoft Visual Basic 及 VBScript   如果没有有效的 Connection 对象,则需要检索 Err 对象的错误信息。

与提供者一样,ADO 在进行可能引发新的提供者错误的调用前将清除 OLE Error Info 对象。但是,只有当提供者产生新的错误或 Clear 方法被调用时,才能清空并充填 Connection 对象的 Errors 集合。

某些属性和方法返回的警告以 Errors 集合中的 Error 对象的方式出现,但并不中止程序的执行。在调用 Recordset 对象的 ResyncUpdateBatch、或 CancelBatch 方法,或 Connection 对象的 Open 方法,或者在设置 Recordset 对象的 Filter 属性之前,可通过调用 Errors 集合的 Clear 方法。这样就可以读取 Errors 集合的 Count 属性,以测试返回的警告。