处理ADO操作错误进行介绍说明

开发 后端
当另一个ADO操作产生错误时,Errors 集合被清空,Error 对象的新集合被放到 Errors 集合中,看完本文你肯定有不少收获,希望本文能教会你更多东西。

上回在公司使用ADO操作对象进行操作DataSet实现更新数据库具体的实现方法,只需把下面的代码清单02添加到代码清单01之后,看完本文你肯定有不少收获,希望本文能教会你更多东西。

使用 Number 属性确定发生了哪个错误。ADO操作属性的值是与错误条件对应的***数字。 Errors 集合以十六进制格式(例如 0x80004005)或以 Long 值(例如 2147467259)返回 HRESULT。这些 HRESULT 由基本组件生成,如 OLE DB,甚至是 OLE 本身。

使用 Error 对象的 Source 属性以确定最初产生错误的对象或应用程序的名称。它可能是对象的类名称或编程 ID。对于 ADO 中的错误,属性值将为 ADODB.ObjectName,此 ObjectName 为触发错误的对象名称。对于 ADOX 和 ADO MD,该值将分别为 ADOX.ObjectName 和 ADOMD.ObjectName。ADO操作 基于 Error 对象的 Source、Number 和 Description 属性中的错误文档,可以编写处理错误的适当代码。 对于 Error 对象,Source 属性为只读。 SQLState 属性。#t#

如果在处理 SQL 语句过程中发生错误,请用 SQLState 属性读取提供者返回的五个字符的错误代码。例如,当配合使用 Microsoft OLE DB Provider for ODBC 和 Microsoft SQL Server 数据库时,将根据 ODBC 特有的错误或 Microsoft SQL Server 生成的错误从 ODBC 生成 SQL 状态错误代码,并将错误代码映射到 ODBC 错误上。ADO操作这些错误代码在 ANSI SQL 标准中有说明,ADO操作但是如果数据源不同,其实现方式也会不同。 NativeError 属性 指示给定 Error 对象的提供者特有的错误代码。

使用 NativeError 属性对某个 Error 对象检索数据库特有的错误信息。例如,当配合使用 Microsoft ODBC Provider for OLE DB 和 Microsoft SQL Server 数据库时,ADO操作从 SQL Server 产生的原生错误代码将通过 ODBC 和 ODBC Provider 传递到 ADO NativeError 属性。 使用 Errors 集合的 Clear 方法以删除集合中所有现有的 Error 对象。发生错误时,ADO 将自动清空 Errors 集合,并用基于新错误的 Error 对象填充集合。

某些属性和方法返回警告,这些警告显示为ADO操作集合中的 Error 对象,但并不终止程序的执行。请先调用 Errors 集合的 Clear 方法,再进行如下操作:调用 Recordset 对象的 Resync、UpdateBatch 或 CancelBatch 方法;调用 Connection 对象的 Open 方法;或设置 Recordset 对象的 Filter 属性。这样,就可以读取 Errors 集合的 Count 属性以测试返回的警告。

责任编辑:chenqingxiang 来源: 新浪科技
相关推荐

2009-12-25 15:28:48

ADO类

2009-12-28 10:03:58

ADO 对象

2009-12-30 16:05:20

ADO.NET实例

2009-12-25 09:25:54

ADO.NET实例

2010-01-04 13:16:31

ADO.NET命令

2009-12-28 14:47:53

ADO工具

2009-12-29 15:30:15

ADO Insert

2009-12-23 11:10:38

ADO.NET状态

2010-01-04 11:02:06

ADO.NET组件

2009-12-30 09:46:02

ADO.NET操作

2009-12-31 10:16:45

ADO.NET体系结构

2009-12-29 15:22:40

ADO.NET类库

2009-12-24 15:34:44

ADO步骤

2010-01-05 11:06:04

ADO处理数据

2010-01-06 15:30:51

JSON和XML

2009-12-29 15:34:08

ADO错误提示

2009-12-22 15:08:46

ADO控件

2009-12-22 11:17:58

ADO.NET产品

2009-12-25 17:11:40

ADO方法

2009-12-21 10:37:05

Ado.Net 实例
点赞
收藏

51CTO技术栈公众号