ado对象模型

ADO对象模型定义了一组可以编程对象,可以实现OLE DB的几乎所有的功能。ADO对象模型中包含了7个对象:
●Connection对象
●Command对象
●Parameter对象
●Recordset对象
●Field对象
●Property对象
●Error对象
ADO对象模型中还包含了3个集合:
●Fields集合
●Properties集合
●Errors集合
它们之间的关系如下图:

1.Connection对象
Connection对象用来与数据源建立连接、执行查询以及建立事务处理。在建立连接之前,必须指定使用哪一个OLE DB供应者。如果Provider属性设为空串,那么连接采用缺省的OLE DB供应者。也可以设置Connection对象的ConenectionString属性来间接设置Provider属性。例如按下面语句设置ConenectionString属性后,OLE DB供应者会是Microsoft OLE DB Provider For SQL Server。

而如果按照下面的语句的设置,OLE DB供应者将会是缺省的ODBC Provider:

当设置好了connectionstring属性后,用Conenection对象的Open方法来与数据库建立连接。例如下面的代码用ODBC供应者与SQL Server数据库建立一个连接:
Dim cnn1 as ADODB.Connection=New ADODB.Connection
strCnn="driver={SQL Server};server=srv;"&uid=sa;pwd=;database=pubs"
Cnn1.Open strCnn
当建立连接以后可以用Conenection对象的Execute方法进行查询,包含SQL语句、存储过程或者OLE DB供应者,它从一个文本文件中返回数据,当把一个目录作为其数据源时,Execute方法的返回结果将是文本文件Custom.txt中的数据。

可以用Conenection进行事务处理。在事务处理方面,conenection对象提供了三个方法:
BeginTrans、CommitTrans和RollbackTrans。在数据修改之前,用BeginTrans方法开始事务处理,当数据修改以后,可以用CommitTrans方法提交事务,或者用RollbackTrans方法加滚事务。例如:

2.Command对象
Command对象执行数据库操作命令,这些命令并不只限于查询串,而是依赖于数据库的OLE DB供应者。以下的讨论假定使用ODBC供应者。
使用Command对象可以建立一个新的连接,也可以使用当前已经建立的连接,这取决于对象"ActiveConection"属性的设置。如果"Activeconection"属性被设置为一个Connection对象的引用,那么Command对象就建立一个新的连接,并使用这个新连接。每个Connection对象可以包含多个Command对象。
用Command对象执行一个查询子串,可以返回一个记录集,也可以返回多个记录集,甚至可以不返回记录集。对象的"CommandText"属性中包含了要执行的查询字串。一个查询可以是一个标准的SQL数据操作语言,如SELECT、DELETE、UPDATE,等;也可以是任何数据定义语言,如CREATE、DROP等;还可以是一个存储过程或一个表。究竟CommandText中是哪一种查询字串,由对象的"CommandType"属性决定。"CommandType"属性有四种不同的值:adCmdText,adCmdTable,adCmdStoreProc和adCmdUnknow。如果查询字串是一个SQL语句,那么"CommandType"属性应设为"adCmdText";如果查询字串是一个存储过程的名字,那么"CommandType"属性应该为"adCmdStoreProc",Command对象用{call procedure=name}的形式来执行一个存储过程;如果查询字串是一个表名,那么"CommandType"属性应该设为"adCmdTable",Command对象用"Select * from Tablename"的形式来执行一个查询;如果"CommandType"属性被设置为"adCmdUnknown",Command对象必须执行一些额外的步骤来决定查询字串的类型,这样会降低系统的性能。
如果要执行一个带参数的查询,或者要执行一个查询若干次,那么可以用Command对象的"Prepared"属性预先建立一个查询字串。
假如有这样一个SQL Server的存储过程:

3.Parameters集合和Parameter对象
Parameters集合和Parameter对象为Command对象提供参数信息和数据。当且仅当Command对象执行的查询是一个带参数的查询时,Parameters集合和Parameter对象才有用,Parameter对象包含在Parameters集合中。Parameter对象中可以包含4种类型的参数:输入、输出、输入输出和返回值类型。
用Command对象的CreateParameter方法来创建一个Parameter对象,Createparameter方法的语法如下,5个参数分别是:参数名、参数的数据类型、参数类型(输入输出等)、参数的长度和参数的值。

4.Recordset对象
Recordset对象用来操作查询返回的结果集,它可以在结果集中添加、删除、修改和移动记录。当创建了一个Recordset对象时,一个游标也被自动创建了。可以用Recordset对象的CursorType属性来设置游标的类型。游标的类型有4种:仅能向前移动的游标、静态的游标、键集游标和动态游标。这已经在DAO中的Recordset对象和RDO的rdoResultset对象中介绍过了。
下面这个例子建立一个Recordset,并循环打印出结果集中的记录的第一个字段的值。

5.Fields集合和Fields对象
Fields集合和Fields对象用来访问当前记录中的每一列的数据,可以用Fields对象创建一个新记录、修改已存在的数据等。用Recordset对象的AddNew、Update和UpdateBatch方法来添加新记录和更新记录。也可以用Fields对象来访问表中每一个字段的一些属性,如下面的例子循环打印出表中当前记录的字段名称、类型和值。

6.Properties集合和Property对象
ADO对象有两种类型的属性:一种是内置的,另一种是动态的。内置的属性不出现在对象的Properties集合中,而动态的属性是由OLE DB供应者定义的,它们出现在相应的ADO对象的Properties集合中。Connection、Command、Recordset和Field对象包含有Properties集合,Properties集合中包含了Property对象,它们负责提供四个对象的特征信息。Property对象只有一个"Attributes"属性,这个属性描述了某个特定属性是否被OLE DB供应者支持,或者是否必须赋值,或者是否能读写。Property对象的另外三个属性为"Name"、"Type"和"Value",分别表示Property对象所描述的ADO对象的属性名称、数据类型和属性值。
下面这个例子取得Connection对象的"ConnectTimeout"属性值和Command对象的"CommandTimeout"属性。

时间: 2024-10-03 22:25:02

ado对象模型的相关文章

ADO 对象模型总结

ado|对象 ADO 对象模型总结 ADO 对象总结对象说明Connection启用数据的交换.Command体现 SQL 语句.Parameter体现 SQL 语句参数.Recordset启用数据的定位和操作.Field体现 Recordset 对象列.Error体现连接错误.Property体现 ADO 对象特性. ADO 集合总结集合说明Errors为响应单个连接错误而创建的所有 Error 对象.Parameters与 Command 对象关联的所有 Parameter 对象.Field

使用OLE DB和ADO调用返回记录集的Oracle存储过程

摘要 OLE DB是建立在ODBC成功基础上的一种开放规范,它为访问和操纵不同类型数据提供开放的标准.ADO是OLD DB的一个消费者,它提供了对OLE DB数据源应用级的访问功能.在应用程序中使用OLE DB和ADO,可以高效地调用返回记录集的Oracle存储过程. 关键字 OLE DB ADO 存储过程 记录集 1 前言 在基于Oracle数据库的ADO应用程序的开发过程中,为了提高执行速度和降低网络流量,往往要在应用程序中调用Oracle数据库服务器端的存储过程.有的存储过程需要返回多行的

WebComputing━ADO总结报告

ado|web 在当今提出的多种动态网页(Dhtml)解决方案中都强调了与数据库的连接,其实网页接挂后台数据库也是当前的热门应用,在电子商务等领域有着广泛的应用.MicroSoft为了适应其发展推出了新的ADO(Active Data Object)模型,通过ODBC的连接可以对当前流行的桌面数据库系统提供方便,快洁的连接.在这里,我想通过ADO在ASP技术中的应用来总结一下ADO对象以及其各自的属性和方法.一.ADO对象模型:下面简单介绍一下ADO的对象模型ADO有三大对象,即Connecti

WebComputing━ADO总结报告1

ado|web 在当今提出的多种动态网页(Dhtml)解决方案中都强调了与数据库的连接,其实网页接挂后台数据库也是当前的热门应用,在电子商务等领域有着广泛的应用.MicroSoft为了适应其发展推出了新的ADO(Active Data Object)模型,通过ODBC的连接可以对当前流行的桌面数据库系统提供方便,快洁的连接.在这里,我想通过ADO在ASP技术中的应用来总结一下ADO对象以及其各自的属性和方法.一.ADO对象模型:下面简单介绍一下ADO的对象模型ADO有三大对象,即Connecti

为ADO 程序员设计的 ADO.NET (转)

ado|程序|程序员|设计 摘要:本文讨论如何以 ADO.NET 方式实现基本数据库操作,以及何时使用 ADO.NET 代替 ADO. 目录.NET 中的数据访问读取数据DataSet.DataTable 和 Recordset转换现有代码更新数据XML 扩展支持总结 自若干年前推出开放式数据库连接 (ODBC) 应用程序编程接口 (API) 以来,出现了各种各样的数据库访问技术,而 ADO.NET 是其中最新的一种.在这过程中,发生了许多有趣的事.例如,COM 闯入数据库领域,开始培植 OLE

为 ADO 程序员设计的 ADO.NET

ado|程序|程序员|设计 摘要:本文讨论如何以 ADO.NET 方式实现基本数据库操作,以及何时使用 ADO.NET 代替 ADO. 目录.NET 中的数据访问读取数据DataSet.DataTable 和 Recordset转换现有代码更新数据XML 扩展支持总结 自若干年前推出开放式数据库连接 (ODBC) 应用程序编程接口 (API) 以来,出现了各种各样的数据库访问技术,而 ADO.NET 是其中最新的一种.在这过程中,发生了许多有趣的事.例如,COM 闯入数据库领域,开始培植 OLE

为 ADO 程序员设计的 ADO.NET (1)

ado|程序|程序员|设计 为 ADO 程序员设计的 ADO.NET 摘要:本文讨论如何以 ADO.NET 方式实现基本数据库操作,以及何时使用 ADO.NET 代替 ADO. 目录 .NET 中的数据访问读取数据DataSet.DataTable 和 Recordset转换现有代码更新数据XML 扩展支持总结自若干年前推出开放式数据库连接 (ODBC) 应用程序编程接口 (API) 以来,出现了各种各样的数据库访问技术,而 ADO.NET 是其中最新的一种.在这过程中,发生了许多有趣的事.例如

vb神童教程(续)--VB的ADO对象

本文欢迎非商业用途的转载,但需要注明出自"编程入门网"及相应的网址链接. ADO简介 参考资料: ADO简介:http://bianceng.cn/VBjc/sjcz/sj2.htm ado对象模型:http://bianceng.cn/Programming/VB_NET/200705/1201.htm ADO是另一种用于开发访问OLE DB数据源应用程序的API.有多种程序设计语言都支持ADO,如VB,VC++,VJ++等.ADO提供了较为高级并容易被理解的访问OLE DB数据源的

如何使用ADO访问Oracle数据库存储过程

一.关于ADO 在基于Client/Server结构的数据库环境中,通过OLE DB接口可以存取数据,但它定义的是低层COM接口,不仅不易使用,而且不能被VB,VBA,VBScript等高级编程工具访问. 而使用ADO则可以很容易地使VB等编程语言直接访问数据(通过OLE DB接口).ADO是基于面向对象方法的,其对象模型如下图所示(略) 由上图可见,ADO对象模型总共才包括六个对象,相对于数据访问对象(DAO)来说简单得多.因此实际中常常使用它来访问数据库. 二.ADO访问数据库实例 下面,我