除了在 Error 对象和 Errors 集合中说明的提供者错误之外,ADO 本身也将错误返回到运行时环境的异常处理机制之中。使用编程语言的错误捕获机制(如 Microsoft® Visual Basic® 中的 On Error 语句)可捕获及处理下列错误。下表将同时显示十进制和十六进制错误代码值。
常量名称 | 编号 | 说明 |
adErrInvalidArgument | 3001 0x800A0BB9 |
应用程序使用的参数其类型错误、超出可接受的范围或者与其他参数冲突。 |
adErrNoCurrentRecord | 3021 0x800A0BCD |
BOF 或 EOF 为 True,或者当前记录已经删除。应用程序请求的操作需要当前记录。 |
adErrIllegalOperation | 3219 0x800A0C93 |
应用程序请求的操作不允许出现在该上下文中 |
adErrInTransaction | 3246 0x800A0CAE |
在事务中应用程序无法显式关闭 Connection 对象。 |
adErrFeatureNotAvailable | 3251 0x800A0CB3 |
提供者不支持应用程序请求的操作。 |
adErrItemNotFound | 3265 0x800A0CC1 |
ADO 无法在对应于应用程序请求的名称或顺序引用的集合中找到对象。 |
adErrObjectInCollection | 3367 0x800A0D27 |
无法追加,对象已经在集合中。 |
adErrObjectNotSet | 3420 0x800A0D5C | 应用程序引用的对象不再指向有效的对象。 |
adErrDataConversion | 3421 0x800A0D5D |
应用程序使用了不符合对当前操作的值类型。 |
adErrObjectClosed | 3704 0x800A0E78 |
如果对象关闭,则不允许应用程序请求的操作。 |
adErrObjectOpen | 3705 0x800A0E79 |
如果对象打开,则不允许应用程序请求的操作。 |
adErrProviderNotFound | 3706 0x800A0E7A |
ADO 找不到指定的提供者。 |
adErrBoundToCommand | 3707 0x800A0E7B |
应用程序无法用 Command 对象将 Recordset 对象的 ActiveConnection 属性更改为它的来源数据。 |
adErrInvalidParamInfo | 3708 0x800A0E7C |
应用程序错误地定义了 Parameter 对象。 |
adErrInvalidConnection | 3709 0x800A0E7D |
应用程序通过引用关闭或无效的 Connection 对象来请求对对象的操作。 |