ADO Command 对象

合集下载

ADO

ADO

ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。

例如,如果您希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。

当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。

象Microsoft的其它系统接口一样,ADO是面向对象的。

它是Microsoft全局数据访问(UDA)的一部分,Microsoft认为与其自己创建一个数据,不如利用UDA访问已有的数据库。

为达到这一目的,Microsoft和其它数据库公司在它们的数据库和Microsoft的OLE数据库之间提供了一个“桥”程序,OLE数据库已经在使用ADO技术。

ADO的一个特征(称为远程数据服务)支持网页中的数据相关的ActiveX控件和有效的客户端缓冲。

作为ActiveX的一部分,ADO也是Microsoft的组件对象模式(COM)的一部分,它的面向组件的框架用以将程序组装在一起。

ADO从原来的Microsoft数据接口远程数据对象(RDO)而来。

RDO与ODBC一起工作访问关系数据库,但不能访问如ISAM和VSAM的非关系数据库。

ADO 是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server 页面上。

可以使用ADO 去编写紧凑简明的脚本以便连接到Open Database Connectivity (ODBC) 兼容的数据库和OLE DB兼容的数据源,这样ASP 程序员就可以访问任何与ODBC 兼容的数据库,包括MS SQL SERVER、Access、Oracle 等等。

比如,如果网站开发人员需要让用户通过访问网页来获得存在于IBM DB2或者Oracle 数据库中的数据,那么就可以在ASP页面中包含ADO程序,用来连接数据库。

ADO对象模型编程

ADO对象模型编程

ADO对象模型ADO,即ActiveX数据对象,实际是一种提供访问各种数据类型的连接机制。

ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口,可以使用任何一种ODBC数据源,即不只适合于SQL Server,Oracle,Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。

1.1 什么是ADOADO是为Microsoft最新最强大的数据访问范例OLE DB而设计的,是基于OLE DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法,是一个便于使用的应用程序层接口。

ADO 是独立于开发工具和开发语言的简单而且容易使用的数据接口。

ADO对象可以在所有支持COM和OLE的平台上使用,如VB,VC++,VBScript和Java等等。

OLE DB是一种底层数据访问界面接口,它是一套部件对象模型(COM)接口,用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C++的开发者开发定制的数据库组件。

OLE DB接口支持大量可应用于数据源的DBMS功能,提供了对任何数据库的高效的访问,包括关系数据库和非关系数据库、电子邮件和文件系统,以及文本文件和图形等,使数据源能够共享其数据。

ADO使用了与DAO相似的约定和特性,但ADO当前并不支持DAO的所有功能。

ADO具有非常简单的对象模型,如图1.1所示,包括以下7个对象:图1.1 ADO数据模型Connection,Command,Parameter,Recordset,Field,Property,Error此外,还包含以下4个集合:Fields,Properties,Parameters,ErrorsADO的核心是Connection,Recordset和Command对象。

1.1.1 Connection对象ADO Connection 对象用于创建一个到达某个数据源的开放连接。

ADO总结

ADO总结

一、ADO对象模型: 下面简单介绍一下ADO的对象模型ADO有三大对象,即Connection对象,Command对象,RecordSet对象. Connection(对象) ─Errors(集合)─Error(对象) Command(对象) ─Parameters(集合)─Parameter(对象) RecordSet(对象) ─Fields(集合)─Field(对象) 其中Connection对象,Command对象,RecordSet对象和Field对象又分别具有Properities集合而产生Properity 对象.我们在asp编程中已经对这几个对象有了足够的了解.下面是以上三大对象的相互关系. Command.ActiveConnection-$#@62;Connection RecordSet.ActiveConnection-$#@62;Connection Connection.Execute-$#@62;RecordSet Command.Execute-$#@62;RecordSet RecordSet.Source-$#@62;Command 好了,有了以上的关系表后,你应该能理解有一些等价的表达形式了. 形式1 set rs = Server.CreateObject("ADODB.RecordSet") strConn = "driver={SQL Server};server=srv;"& _ "uid=sa;pwd=;database=pubs" strSQL = "Select * From Employee ;" rs.open strSQL,strConn,,,adCmdText 形式2 set conn = Server.CreateObject("ADODB.Connection") strConn ="driver={SQL Server};server=srv;"& _ "uid=sa;pwd=;database=pubs" conn.open strConn set rs = Server.CreateObject("ADODB.RecordSet") rs.ActiveConnection=conn(注意此句) strSQL = "Select * From Employee ;" rs.open strSQL,,,,adCmdText "上面这句也可以写成rs.open strSQL,conn,,,adCmdText 形式3 set conn = Server.CrreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.RecordSet") strConn ="driver={SQL Server};server=srv;"& _ "uid=sa;pwd=;database=pubs" conn.open strConn strSQL = "Select * From Employee ;" rs=conn.Execu strSQL(注意次句) 形式 4 set rs = Server.CreateObject("ADODB.RecordSet") strConn ="driver={SQL Server};server=srv;"& _ "uid=sa;pwd=;database=pubs" strSQL = "Select * From Employee ;" rs.open strSQL,strConn,,,adCmdText 注:上面的例子中均假设SQL Server的name=srv,使用SQL Server Authentication采用了默认的帐号sa,该帐号没有设定密码。

ADO对象操作Access数据库关键技术

ADO对象操作Access数据库关键技术

ADO对象操作Access数据库关键技术ADO对象操作Access数据库关键技术ADO(ActiveX Data Object)是目前Microsoft通用的数据访问技术。

ADO编程模型定义一组对象,用于访问和更新数据源,它提供了一系列方法完成以下任务:连接数据源、查询记录、添加记录、更新记录、删除记录、检查建立连接或执行命令时可能产生的错误。

一、ADO对象ADO是基于组件的数据库访问接口,可以来自多种数据提供者的数据进行读取和写入操作。

ADO的3个成员对象:(1)Connection对象(连接对象):建立应用程序与数据源的连接。

(2)Command对象(操作命令对象):在创建数据连接的基础上,利用Command 对象可以实现对数据源的查询、插入、删除、编辑修改及更新操作。

(3)Recordset对象(记录集对象):执行数据访问或SQL命令得到动态记录集,它被缓存在内存中。

ADO的3个集合对象:(1)Errors集合对象。

它依赖于Connection对象的使用。

(2)Parameters集合对象。

它依赖于Command对象的使用。

(3)Fields集合对象。

它依赖于Recordset对象的使用。

1、Connection对象该对象用来实现应用程序与数据源的连接。

只有连接成功后,Command对象和Recordset对象才能访问某个数据库。

2、Command对象该对象主要作用是在VBA中用SQL语句访问、查询数据库中的数据,可以完成Recordset对象不能完成的操作,如创建表、修改表结构、删除表、将查询结果保存为新表等。

3、Recordset对象Recordset对象的功能最常用、最重要,它可以访问表和查询对象,返回的记录存储在Recordset对象中。

通过该对象可以浏览记录、修改记录、添加新记录或者删除特定记录。

二、在Access中引用ADO对象在Access的模块设计时要想使用ADO对象,首先应该增加一个对ADO库的引用。

Ado连接及基本用法

Ado连接及基本用法

ADO对象模型ADO主要包含7个对象,3个独立对象和依赖独立对象才能使用的4个非独立对象。

1、Connection:连接对象,用于创建数据源连接。

在使用其他对象之前必须先建立数据源连接,然后在连接对象上创建和使用其他对象。

2、Command:命令对象,用于执行动作查询,比如创建/删除数据库、执行返回数据集、删除记录等操作。

3、Recordset:记录集对象,保存来自基本表或命令对象返回的结果。

使用记录集对象几乎可以完成所有的数据集操作。

4、Field:字段对象,依赖于记录集对象使用,可使用Fields集合获得记录集汇总每个字段的信息。

5、Property:属性对象,每个连接对象、命令对象、记录集对象以及字段对象都有一个属性对象集合。

使用属性对象可以访问特定对象的主要信息,例如获得数据库中表的名称。

6、Parameter:参数对象,依赖于命令对象使用,用于为参数查询提供数据。

同时使用参数对象和命令对象,可使数据库队查询进行预编译,从而提高执行速度。

7、Error:错误对象,依赖连接对象使用。

使用Connection对象Connection对象主要用于创建数据库连接,任何数据库访问操作都建立在连接的基础上。

1、定义Connection对象建立ADO引用后,就可定义(声明)Connection对象,然后利用Connection对象创建Recordset对象或Command对象。

下面的语句定义并实例化一个Connection对象:Dim objCn As ConnectionSet objCn = New Connection也可直接实例化Connection对象,例如:Dim objCn As New Connection2、指定数据提供者实例化Connection对象后,就必须通过Provider属性指定一个数据提供者(可理解为驱动程序),例如:objCn.Provider=”SQLOLEDB” `指定数据提供者SQLOLEDB为Microsoft SQL Server OLE DB 数据提供者,用于访问SQL Server 数据库。

数据库操作--ADO错误代码说明

数据库操作--ADO错误代码说明

ADO错误代码说明在使用ADO的时候,我们在程序中经常使用try{//}catch(_com_error e){MessageBox(e.ErrorMessage());........}来捕获ADO的异常信息,但是e.ErrorMessage()输出的往往是一些错误编号例如: IDispatch error #3748是我们还是不能了解到底是哪方面的操作导致了异常下面就给出一些ADO中的错误代码和对应的描述信息,希望对大家有所帮助! 3707 应用程序不能改变Recordset对象的ActiveComnection属性,以Command 对象作为它的源3732 不能完成动作3748 不能改变连接3220 不能改变提供者3724 不能转换值不能创建资源3747 类别没有设置所以动作不能执行3726 这一行中不存在指定的列3421 对于当前的应用程序,应用程序使用了错误类型的值3721 数据超出给定的数据类型的范围3738 不能删除资源,这超出了允许范围3750 不能设置Deny权限,因为提供者不支持3751 提供者不支持请求的Deny类型3251 提供者不支持该应用程序请求的操作3749 Fields集合的Dpdate方法失败3219 在此环境中不允许应用程序请求的操作3719 因为违背数据的完整性,操作失败3246 在事务中,应用程序不能显式地关闭Connection对象3001 应用程序使用的参数类型错误,可能超出范围或与其他类型冲突3709 应用程序请求对一个对象的操作时使用了一个引用,而该引用指向了一个关闭的或无效的Connection对象3708 应用程序不适当地定义了一个Parameter对象3714 事务无效3729 提供的URL无效3265 ADO在集合中没发现对象3021 BOF和EOF中一个为True,或者当前记录已被删,而应用程序的请求操作需要当前记录3715 操作不在执行过程中3710 操作不能重新执行3704 如果对象已关闭,不允许应用程序请求的操作3367 对象已在集合中,不能追加3420 由应用程序引用的对象不再指向有效的对象3705 如果对象已打开,不允许应用程序请求的操作3002 当打开请求的文件时,发生错误3712 操作被取消3734 因为服务器得不到足够的空间完成操作,操作失败3720 因为用户没有足够的权限完成操作,操作失败3742 设置这个属性造成和其他属性冲突3739 对于选择的列,这个属性无效3740 给属性提供了一个无效的选择3741 给属性提供了一个无效的值3743 不是所有的属性都能被设置3744 属性没有被设置3745 属性不能被设置3746 属性不被支持3000 提供者执行请求的动作失败3706 ADO不能找到指定的提供者3003 读指定的文件时出错3731 资源已经存在3730 资源被锁定3735 资源超出范围3722 动作违背了模式3723 表达式包含不匹配的符号3713 操作仍然在连接中3711 操作仍然在执行3728 没有查看目录树的权限3736 命令不可用3716 在这种情况下运行不安全3727 URL不存在3737 在命名的行中的URL不存在3733 文件版本信息没找到3004 写文件时有错误3717 操作引出一个安全对话3718 操作引出一个安全对话头常量名称十进制编号十六进制编号说明adErrInvalidArgument3001应用程序使用的参数其类型错误、超出可接受的范围或者与其他参数冲突。

知识拓展:ADO数据访问技术

知识拓展:ADO数据访问技术

ADO数据访问技术摘自《Visual C++ + SQL Server数据库应用实例完全解析》启明工作室编著,人民邮电出版社出版,2006年4月第一版。

ADO的全称是ActiveX Data Objects。

Visual C++提供了丰富的数据库访问技术,如ADO、ODBC、DAO和RDO等,其中,ADO是最新的数据库访问技术,它是使用更为简单,而又更加灵活的对象模型。

对于新工程,应该使用ADO作为数据访问接口。

1. ADO数据模型Figure 6. ADO Object ModelADO提供执行以下操作的方式:➢连接到数据源。

➢指定访问数据源的命令,同时可带变量参数或优化执行。

通常涉及ADO的Command对象。

➢执行命令,例如一个SELECT脚本。

➢如果这个命令使数据库按表中行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。

➢适当情况下,可以把缓存行的更改内容写回数据库中,更新数据源。

➢提供常规方法检测错误(错误通常由建立连接或执行命令造成),涉及ADO的Error对象。

ADO编程模型提供了以下主要元素:1)连接。

通过“连接”可以从应用程序中访问数据源。

连接时必须指定要连接到的数据源以及连接所使用的用户名和口令等信息。

对象模型使用Connection对象完成连接功能。

2)命令。

可以通过已建立的连接发出命令,对数据源进行指定的操作。

一般情况下,可以通过命令在数据源中添加、修改或删除数据,也可以检索满足指定条件的数据。

在对象模型中使用Command对象来体现命令的概念。

3)参数。

在执行命令时可指定参数,参数可以在命令发布之前进行更改。

例如,可以重复发出相同的数据检索命令,但是每一次指定的检索条件不同。

对象模型用Parameter对象来体现参数概念。

4)记录集。

查询命令可以将查询结果存储在本地,这些数据以“行”为单位,返回市局的集合被称为记录集。

对象模型将记录集体现为Recordset对象。

ADO三个对象

ADO三个对象

3, Recordset对象 记录集表示基本表,或者表示命令执行结果的记录全集。需要注意的是,Recordset对象的当前记录是集合中的单个记录。
采用ADO时,可以使用Recordset对象操作来自提供者的数据,也可以使用Recordset对象对数据库中的所有数据进行操作。结构上,所有的Recordset对象均由记录(行)tion对象 连接对象表示到数据源的连接,同时也表示与数据源的惟一会话。在使用ADO操作数据库前,必须首先创建一个连接对象。
2, Command对象 命令对象用于定义对数据源执行的特定命令,主要用于查询数据库,并返回Recordset对象中的记录,以便大量操作,或对数据库结构进行操行。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Command对象
ADO Command物件是用来执行一个查询数据库。

查询可以执行的行动一样创造,增加,检索,删除或更新记录。

如果查询用于检索数据,这些数据将返回作为一个Recordset对象。

这意味着,检索数据可以操纵的属性,集合,方法和事件的Recordset对象。

主要特点Command对象是能够使用存储查询和程序的参数。

的ProgID
set objCommand=Server.CreateObject("mand")
性能
产权说明
ActiveConnection设置或返回一个定义为一个连接,如果连接被关闭,或目前
的Connection对象,如果连接是开放
CommandText设置或返回供应商的命令
CommandTimeout设置或返回等候秒数在试图执行一个命令
CommandType设置或返回类型的Command对象
名称设置或返回的名称Command对象
备设置或返回一个布尔值,如果设置为True ,表明该命令应保存一份版本的
查询之前,首先执行
国家归来的价值,说明如果Command对象是开放的,封闭,连接,执行或检索
数据
方法
方法描述
取消取消了执行方法
CreateParameter创建一个新的参数对象
执行处决的查询, SQL语句或程序中的CommandText属性
集合
集合描述
参数包含所有的参数对象的Command对象
内容包含了所有的财产对象的Command对象。

相关文档
最新文档