ADO学习教程

更新时间:2024-03-15 10:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ADO 简介

ADO 被用于从网页访问数据库。

您应当具备的基础知识

在继续学习之前,您需要对下面的知识有基本的了解:

? WWW、HTML 以及对网站构建的基本了解 ? ASP(动态服务器页面) ? SQL(结构化查询语言)

如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。

什么是 ADO?

? ADO 是一项微软的技术

? ADO 指 ActiveX 数据对象(ActiveX Data Objects) ? ADO 是一个微软的 Active-X 组件 ? ADO 会随微软的 IIS 被自动安装 ? ADO 是一个访问数据库中数据的编程接口

从 ASP 页面访问数据库

从一个 ASP 页面内部访问数据库的通常的方法是:

1. 创建一个到数据库的 ADO 连接 2. 打开数据库连接 3. 创建 ADO 记录集 4. 从记录集提取您需要的数据 5. 关闭记录集 6. 关闭连接

ADO 数据库连接

在从某个网页访问数据之前,必须先建立一个数据库连接。

创建一个 DSN-less 数据库连接

连接到某一个数据库的最简单的方法是使用一个 DSN-less 连接。DSN-less 连接可被用于您的站点上的任何微软 Access 数据库。

假设您拥有一个名为 \的数据库位于 \的 web 目录中,您可以使用下面的 ASP 代码连接到此数据库:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \%>

注意,在上面的例子中,您必须规定微软的 Access 数据库驱动程序(Provider),以及此数据库在计算机上的物理路径。

创建一个 ODBC 数据库连接

假设您拥有一个名为 \的 ODBC 数据库,您可以使用下面的 ASP 代码连接到此数据库:

<%

set conn=Server.CreateObject(\conn.Open \%>

通过一个 ODBC 连接,您可以连接到您的网络中任何计算机上的任何数据库,只要 ODBC 连接是可用的。

到 MS Access 数据库的 ODBC 连接

下面为您讲解如何创建到一个 MS Access 数据库的连接:

1. 打开控制面板中的 ODBC 图标 2. 选择系统 ODBC 选项卡 3. 点击 ODBC 选项卡中的添加按钮

4. 选择 Driver to Microsoft Access,然后点击完成按钮 5. 在下一个窗口中点击“选择”按钮来定位数据库

6. 为此数据库赋予一个数据源名称(Data Source Name,DSN) 7. 点击\确定\

注意:此配置必须在您的网站所在的计算机上完成。假如您正在自己的计算机上运行PWS或者IIS,此架构是可以运行的,但是假如您的网站位于一台远程的服务器,您就必须拥有此服务器的物理访问权限,或者请您的 web 主机提供商为您做这些事情。

ADO 连接对象(ADO Connection Object)

ADO 连接对象用来创建到某个数据源的开放连接。通过此连接,您可以对此数据库进行访问和操作。

查看此连接对象的所有方法和属性。

ADO Recordset(记录集)

如需读取数据库的数据,那么其中的数据必须首先被载入一个记录集中。

创建一个 ADO 表记录集(ADO Table Recordset)

在 ADO 数据库连接创建之后,如上一章所述,接下来就可以建立一个 ADO 记录集了。

假设我们有一个名为 \的数据库,我们可以通过下面的代码访问数据库中的 \表:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs=Server.CreateObject(\rs.Open \%>

创建一个 ADO SQL 记录集 (ADO SQL Recordset)

我们也可使用 SQL 访问 \表中的数据:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs=Server.CreateObject(\rs.Open \%>

从记录集中提取数据

在记录集被打开后,我们可以从记录集中提取数据。

假设我们用一个名为 \的数据库,我们可以通过下面的代码访问数据库中 \表:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs=Server.CreateObject(\rs.Open \

for each x in rs.fields response.write(x.name) response.write(\ response.write(x.value) next %>

ADO 记录集对象(ADO Recordset Object)

ADO Recordset 对象可被用来容纳来自数据库表的记录集。

查看 ADO Recordset 对象的所有方法和属性

ADO 显示

显示来自记录集中的数据的最常用的方法,就是把数据显示在 HTML 表格中。

显示字段名称和字段值

我们有一个名为 \的数据库,并且我们希望显示出 \表中的数据(记得以 .asp 为扩展名来保存这个文件):

<%

set conn=Server.CreateObject(\conn.Provider=\conn.Open \

set rs = Server.CreateObject(\rs.Open \

do until rs.EOF

for each x in rs.Fields Response.Write(x.name) Response.Write(\

Response.Write(x.value & \ next

Response.Write(\ rs.MoveNext loop

rs.close conn.close %>

在一个 HTML 表格中显示字段名称和字段的值

我们也可以通过下面的代码把表 \中的数据显示在一个 HTML 表格中:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs = Server.CreateObject(\

rs.Open \ %>

<%do until rs.EOF%>

<%for each x in rs.Fields%>

<%Response.Write(x.value)%> <%next

rs.MoveNext%> <%loop rs.close conn.close %>

向 HTML 表格添加标题

我们希望为这个 HTML 表格添加标题,这样它就更易读了:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs = Server.CreateObject(\sql=\rs.Open sql, conn %>

<%for each x in rs.Fields

response.write(\ next%>

<%do until rs.EOF%>

<%for each x in rs.Fields%>

<%Response.Write(x.value)%> <%next

rs.MoveNext%> <%loop rs.close conn.close %>

ADO 查询

我们可以使用 SQL 来创建查询,这样就可以指定仅查看选定的记录和字段。

显示选定的数据

我们希望仅仅显示 \表的 \e\字段中以 A 开头的记录:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs=Server.CreateObject(\

sql=\WHERE CompanyName LIKE 'A%'\

rs.Open sql, conn %>

<%for each x in rs.Fields

response.write(\ next%>

<%do until rs.EOF%>

<%for each x in rs.Fields%>

<%Response.Write(x.value)%>

<%next

rs.MoveNext%> <%loop rs.close conn.close%>

ADO 排序

我们可以使用SQL来规定如何对记录集中的数据进行排序。

对数据进行排序

我们希望显示 \表中的\e\和\字段,并根据\进行排序(请记得用.asp为后缀保存):

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs = Server.CreateObject(\

sql=\Customers ORDER BY CompanyName\

rs.Open sql, conn %>

<%for each x in rs.Fields

response.write(\ next%>

<%do until rs.EOF%>

<%for each x in rs.Fields%>

<%Response.Write(x.value)%> <%next

rs.MoveNext%> <%loop rs.close conn.close%>

ADO 添加记录

我们可以使用 SQL 的 INSERT INTO 命令向数据库中的表添加记录.

我们希望向 Northwind 数据库中的 Customers 表添加一条新的记录。我们首先要创建一个表单,这个表单包含了我们需要从中搜集数据的输入域:

CustomerID:

Company Name:

Contact Name:

Address:

Postal Code:

Country:


当用户按下确认按钮时,这个表单就会被送往名为 \的文件。文件 \中含有可向 Customers 表添加一条新记录的代码:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

sql=\sql=sql & \ sql=sql & \

sql=sql & \sql=sql & \sql=sql & \sql=sql & \sql=sql & \sql=sql & \sql=sql & \

on error resume next

conn.Execute sql,recaffected if err<>0 then

Response.Write(\else

Response.Write(\ end if

conn.close %>

重要事项

在您使用 INSERT command 命令时,请注意以下事项:

? 如果表含有一个主键,请确保向主键字段添加的值是唯一且非空的(否则,provider 就不会追

加此记录,亦或发生错误)

? 如果表含有一个自动编号的字段,请不要在 INSERT 命令中涉及此字段(这个字段的值是由

provider 负责的)

关于无数据字段

在 MS Access 数据库中,假如您将 AllowZeroLength 属性设置为 “Yes”,您可以在文本、超链接以及备忘字段输入零长度的字符串 (\。

注释:并非所有的数据库都支持零长度的字符串,因而当添加带有空白字段的记录时可能会产生错误。因此,检查您使用的数据库所支持的数据类型是很重要的。

ADO 更新记录

我们可使用 SQL 的 UPDATE 来更新数据库表中的某条记录。

更新数据库表中的记录

我们希望更新 Northwind 数据中 Customers 表的某条记录。首先我们需要创建一个表格,来列出 Customers 中的所有记录。

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs=Server.CreateObject(\

rs.open \%>

List Database

<%

for each x in rs.Fields

response.write(\ next %>

<% do until rs.EOF %>

<%rs.MoveNext%> <%

loop conn.close %>

如果用户点击 \列中的按钮,会打开一个新文件 \。此文件包含了创建输入域的源代码,这些输入域基于数据库中记录的字段,同时也含有一个保存修改的“更新按钮”:

Update Record

<%

set conn=Server.CreateObject(\conn.Provider=\conn.Open \

cid=Request.Form(\

if Request.form(\

set rs=Server.CreateObject(\

rs.open \ %>

<%for each x in rs.Fields%>

<%=x.name%>

<%Response.Write(rs.fields(\ <%rs.MoveNext loop%> <% rs.close conn.close set rs = Nothing set conn = Nothing %>

对于一个大型的查询来说,这样做会增加脚本的处理时间,这是由于服务器需要处理大量的 Response.Write 命令。

解决的办法是创建全部字符串,从 到 ,然后将其输出 - 只使用一次 Response.Write。

GetString() 方法

GetString() 方法使我们有能力仅使用一次 Response.Write,就可以显示所有的字符串。同时它甚至不需要 do..loop 代码以及条件测试来检查记录集是否处于 EOF。

语法

str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

如需使用来自记录集的数据创建一个 HTML 表格,我们仅仅需要使用以上参数中的三个(所有的参数都是可选的):

? coldel - 用作列分隔符的 HTML

? rowdel - 用作行分隔符的 HTML ? nullexpr - 当列为空时所使用的 HTML

注释:GetString() 方法是 ADO 2.0 的特性。您可从下面的地址下载 ADO 2.0:http://www.microsoft.com/data/download.htm

在下面的例子中,我们将使用 GetString() 方法,把记录集存为一个字符串:

<%

set conn=Server.CreateObject(\ conn.Provider=\conn.Open \

set rs = Server.CreateObject(\

rs.Open \

str=rs.GetString(,,\ %>

<%Response.Write(str)%> <% rs.close conn.close set rs = Nothing

set conn = Nothing %>

上面的变量 str 包含着由 SELECT 语句返回的所有列和行的一个字符串。在每列之间会出现

,在每行之间会出现 。这样,仅使用一次 Response.Write,我们就得到了需要的 HTML。

ADO Command 对象

Command 对象

ADO Command 对象用于执行面向数据库的一次简单查询。此查询可执行诸如创建、添加、取回、删除或更新记录等动作。

如果该查询用于取回数据,此数据将以一个 RecordSet 对象返回。这意味着被取回的数据能够被 RecordSet 对象的属性、集合、方法或事件进行操作。

Command 对象的主要特性是有能力使用存储查询和带有参数的存储过程。

ProgID

set objCommand=Server.CreateObject(\

属性

属性 描述 ActiveConnection设置或返回包含了定义连接或 Connection 对象的字符串。 设置或返回包含提供者(provider)命令(如 SOL 语句、表格名称或存储的过程调用)的字符串值。默认值为 \(零长度字符串)。 设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默认值为 30。 设置或返回一个 Command 对象的类型 设置或返回一个 Command 对象的名称 指示执行前是否保存命令的编译版本(已经准备好的版本)。 CommandTextCommandTimeoutCommandTypeNamePreparedState返回一个值,此值可描述该 Command 对象处于打开、关闭、连接、执行还是取回数据的状态。 方法 方法 描述 Cancel取消一个方法的一次执行。 创建一个新的 Parameter 对象 执行 CommandText 属性中的查询、SQL 语句或存储过程。 CreateParameterExecute集合 集合 描述 Parameters Properties 包含一个 Command 对象的所有 Parameter 对象。 包含一个 Command 对象的所有 Property 对象。 ADO Connection 对象

Connection 对象

ADO Connection 对象用于创建一个到达某个数据源的开放连接。通过此连接,您可以对一个数据库进行访问和操作。

如果需要多次访问某个数据库,您应当使用 Connection 对象来建立一个连接。您也可以经由一个 Command 或 Recordset 对象传递一个连接字符串来创建某个连接。不过,此类连接仅仅适合一次具体的简单的查询。

ProgID

set objConnection=Server.CreateObject(\

属性

属性 描述 Attributes设置或返回 Connection 对象的属性。 指示在终止尝试和产生错误之前执行命令期间需等待的时间。 设置或返回用于建立连接数据源的细节信息。 CommandTimeoutConnectionStringConnectionTimeout指示在终止尝试和产生错误前建立连接期间所等待的时间。 设置或返回游标服务的位置。 指示 Connection 对象的默认数据库。 指示 Connection 对象的隔离级别。 设置或返回 provider 的访问权限。 设置或返回 Connection 对象提供者的名称。 返回一个描述连接是打开还是关闭的值。 返回 ADO 的版本号。 CursorLocationDefaultDatabaseIsolationLevelModeProviderStateVersion方法 方法 描述 BeginTransCancel开始一个新事务。 取消一次执行。 关闭一个连接。 保存任何更改并结束当前事务。 执行查询、SQL 语句、存储过程或 provider 具体文本。 打开一个连接。 从 provider 返回有关数据源的 schema 信息。 取消当前事务中所作的任何更改并结束事务。 CloseCommitTransExecuteOpenOpenSchemaRollbackTrans事件 注释:您无法使用 VBScript or JScript 来处理事件(仅能使用 Visual Basic、Visual C++ 以及 Visual J++ 语言处理事件)。 事件 描述 在 BeginTrans 操作之后被触发。 BeginTransComplete

CommitTransCompleteConnectCompleteDisconnect在 CommitTrans 操作之后被触发。 在一个连接开始后被触发。 在一个连接结束之后被触发。 在一条命令执行完毕后被触发。 假如在一个 ConnectionEvent 操作过程中警告发生,则触发该事件。 在 RollbackTrans 操作之后被触发。 在一个连接开始之前被触发。 在一条命令被执行之前被触发。 ExecuteCompleteInfoMessageRollbackTransCompleteWillConnectWillExecute集合 集合 描述 Errors Properties 包含 Connection 对象的所有 Error 对象。 包含 Connection 对象的所有 Property 对象。 ADO Error 对象

Error 对象

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

ADO 会因每次错误产生一个 Error 对象。每个 Error 对象包含具体错误的详细信息,且 Error 对象被存储在 Errors 集合中。要访问这些错误,就必须引用某个具体的连接。

循环遍历 Errors 集合:

<%

for each objErr in objConn.Errors response.write(\

response.write(\

response.write(objErr.Description & \ response.write(\

response.write(objErr.HelpContext & \

response.write(\

response.write(objErr.HelpFile & \ response.write(\

response.write(objErr.NativeError & \ response.write(\

response.write(objErr.Number & \ response.write(\

response.write(objErr.Source & \ response.write(\

response.write(objErr.SQLState & \ response.write(\next %>

语法

objErr.property

属性 属性 描述 Description返回一个错误描述。 返回 Microsoft Windows help system 中某个主题的内容 ID。 返回 Microsoft Windows help system 中帮助文件的完整路径。 返回来自 provider 或数据源的错误代码。 返回可标识错误的一个唯一的数字。 返回产生错误的对象或应用程序的名称。 返回一个 5 字符的 SQL 错误码。 HelpContextHelpFileNativeErrorNumberSourceSQLStateADO Field 对象

Field 对象

ADO Field 对象包含有关 Recordset 对象中某一列的信息。Recordset 中的每一列对应一个 Field 对象。

ProgID

set objField=Server.CreateObject(\

属性

属性 描述 ActualSizeAttributes返回一个字段值的实际长度。 设置或返回 Field 对象的属性。 返回Field 对象被定义的大小 设置或返回 Field 对象的名称。 设置或返回 Field 对象中的值所允许的小数位数。 返回某个字段的原始值。 设置或返回当表示 Field 对象中的数值时所允许的数字的最大数。 返回 Field 对象的状态。 设置或返回 Field 对象的类型。 返回一个字段的当前值。 设置或返回 Field 对象的值。 DefinedSizeNameNumericScaleOriginalValuePrecisionStatusTypeUnderlyingValueValue方法

方法 描述 把大型的二进制或文本数据追加到 Field 对象 返回大型二进制或文本 Field 对象的全部或部分内容。 AppendChunkGetChunk集合 集合 描述 Properties 包含一个 Field 对象的所有 Property 对象。 ADO Parameter 对象

Parameter 对象

ADO Parameter 对象可提供有关被用于存储过程或查询中的一个单个参数的信息。

Parameter 对象在其被创建时被添加到 Parameters 集合。Parameters 集合与一个具体的 Command 对象相关联,Command 对象使用此集合在存储过程和查询内外传递参数。

参数被用来创建参数化的命令。这些命令(在它们已被定义和存储之后)使用参数在命令执行前来改变命令的某些细节。例如,SQL SELECT 语句可使用参数定义 WHERE 子句的匹配条件,而使用另一个参数来定义 SORT BY 子句的列的名称。

有四种类型的参数:input 参数、output 参数、input/output 参数 以及 return 参数。

语法

objectname.property objectname.method

属性

属性 描述 AttributesDirectionName设置或返回一个 Parameter 对象的属性。 设置或返回某个参数如何传递到存储过程或从存储过程传递回来。 设置或返回一个 Parameter 对象的名称。 设置或返回一个 Parameter 对象的数值的小数点右侧的数字数目。 设置或返回当表示一个参数中数值时所允许数字的最大数目。 设置或返回 Parameter 对象中的值的最大大小(按字节或字符)。 设置或返回一个 Parameter 对象的类型。 设置或返回一个 Parameter 对象的值。 NumericScalePrecisionSizeTypeValue方法

方法 描述 AppendChunk把长二进制或字符数据追加到一个 Parameter 对象。 从 Parameters 集合中删除一个对象。 DeleteADO Property 对象

Property 对象

ADO 对象有两种类型的属性:内置属性和动态属性。

内置属性是在 ADO 中实现并立即可用于任何新对象的属性,此时使用 MyObject.Property 语法。它们不会作为 Property 对象出现在对象的 Properties 集合中,因此,虽然可以更改它们的值,但无法更改它们的特性。

ADO Property 对象表示 ADO 对象的动态特性,这种动态特性是被 provider 定义的。

每个与 ADO 对话的 provider 拥有不同的方式与 ADO 进行交互。所以,ADO 需要通过某种方式来存储有关 provider 的信息。解决方法是 provider 为 ADO 提供具体的信息(动态属性)。ADO 把每个 provider 属性存储在一个 Property 对象中,而 Property 对象相应地也被存储在 Properties 集合中。此集合会被分配到 Command 对象、Connection 对象、Field 对象 或者 Recordset 对象。

例如,指定给提供者的属性可能会指示 Recordset 对象是否支持事务或更新。这些附加的属性将作为 Property 对象出现在该 Recordset 对象的 Properties 集合中。

ProgID

set objProperty=Server.CreateObject(\

属性

属性 描述 Attributes Name Type Value 返回一个 Property 对象的属性 设置或返回一个 Property 对象的名称 返回 Property 的类型 设置或返回 一个 Property 对象的值

ADO Record 对象

Record 对象 (ADO version 2.5)

ADO Record 对象用于容纳记录集中的一行、或文件系统的一个文件或一个目录。

ADO 2.5 之前的版本仅能够访问结构化的数据库。在一个结构化的数据库中,每个表在每一行均有确切相同的列数,并且每一列都由相同的数据类型组成。

Record 对象允许访问行与行之间的列数且/或数据类型不同的数据集。

语法

objectname.property objectname.method

属性

属性 描述 ActiveConnection Mode ParentURL RecordType Source State 设置或返回 Record 对象当前所属的 Connection 对象。 设置或返回在Record 对象中修改数据的有效权限。 返回父 Record 的绝对URL。 返回 Record 对象的类型。 设置或返回 Record 对象的 Open 方法的 src 参数。 返回 Record 对象的状态。 方法

方法 描述 Cancel Close CopyRecord DeleteRecord 取消一次 CopyRecord、DeleteRecord、MoveRecord 或 Open 调用的执行。 关闭一个 Record 对象。 把文件或目录拷贝到另外一个位置。 删除一个文件或目录。 GetChildren MoveRecord Open 返回一个 Recordset 对象,其中的每一行表示目录中的文件或子目录。 把文件或目录移动到另外一个位置。 打开一个已有的 Record 对象或创建一个新的文件或目录。 集合

集合 描述 Properties Fields 特定提供者属性的一个集合。 包含 Record 对象中的所有 Field 对象。 Fields 集合的属性 属性 描述 返回 fields 集合中的项目数。起始值为 0。 例子: countfields = rec.Fields.Count Item(named_item/number) 返回 fields 集合中的某个指定的项目。 例子: itemfields = rec.Fields.Item(1) 或者 itemfields = rec.Fields.Item(\Count ADO Recordset 对象

Recordset 对象

ADO Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字段)组成。

在 ADO 中,此对象是最重要且最常用于对数据库的数据进行操作的对象。

ProgID

set objRecordset=Server.CreateObject(\

当您首次打开一个 Recordset 时,当前记录指针将指向第一个记录,同时 BOF 和 EOF 属性为 False。如果没有记录,BOF 和 EOF 属性为 True。

Recordset 对象能够支持两种更新类型:

立即更新 - 一旦调用 Update 方法,所有更改被立即写入数据库。 批更新 - provider 将缓存多个更改,然后使用 UpdateBatch 方法把这些更改传送到数据库。

在 ADO,定义了 4 中不同的游标(指针)类型:

? 动态游标 - 允许您查看其他用户所作的添加、更改和删除

? 键集游标 - 类似动态游标,不同的是您无法查看有其他用户所做的添加,并且它会防止您访问其

他用户已删除的记录。其他用户所做的数据更改仍然是可见的。

? 静态游标 - 提供记录集的静态副本,可用来查找数据或生成报告。此外,由其他用户所做的添加、

更改和删除将是不可见的。当您打开一个客户端 Recordset 对象时,这是唯一被允许的游标类型。

? 仅向前游标 - 只允许在 Recordset 中向前滚动。此外,由其他用户所做的添加、更改和删除将

是不可见的。

可通过 CursorType 属性或 Open 方法中的 CursorType 参数来设置游标的类型。

注释:并非所有的提供者(providers)支持 Recordset 对象的所有方法和属性。

属性

属性 描述 AbsolutePage AbsolutePosition ActiveCommand ActiveConnection 设置或返回一个可指定 Recordset 对象中页码的值。 设置或返回一个值,此值可指定 Recordset 对象中当前记录的顺序位置(序号位置)。 返回与 Recordset 对象相关联的 Command 对象。 如果连接被关闭,设置或返回连接的定义,如果连接打开,设置或返回当前的 Connection 对象。 如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。 设置或返回一个书签。此书签保存当前记录的位置。 设置或返回能够被缓存的记录的数目。 设置或返回游标服务的位置。 设置或返回一个 Recordset 对象的游标类型。 设置或返回要从 DataSource 属性所引用的对象中检索的数据成员的名称。 BOF Bookmark CacheSize CursorLocation CursorType DataMember DataSource EditMode EOF Filter Index LockType MarshalOptions MaxRecords PageCount PageSize RecordCount Sort Source 指定一个包含要被表示为 Recordset 对象的数据的对象。 返回当前记录的编辑状态。 如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。 返回一个针对 Recordset 对象中数据的过滤器。 设置或返回 Recordset 对象的当前索引的名称。 设置或返回当编辑 Recordset 中的一条记录时,可指定锁定类型的值。 设置或返回一个值,此值指定哪些记录被返回服务器。 设置或返回从一个查询返回 Recordset 对象的的最大记录数目。 返回一个 Recordset 对象中的数据页数。 设置或返回 Recordset 对象的一个单一页面上所允许的最大记录数。 返回一个 Recordset 对象中的记录数目。 设置或返回一个或多个作为 Recordset 排序基准的字段名。 设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。 State 返回一个值,此值可描述是否 Recordset 对象是打开、关闭、正在连接、正在执行或正在取回数据。 Status StayInSync 返回有关批更新或其他大量操作的当前记录的状态。 设置或返回当父记录位置改变时对子记录的引用是否改变。 方法

方法 描述 AddNew Cancel CancelBatch 创建一条新记录。 撤销一次执行。 撤销一次批更新。 CancelUpdate Clone Close CompareBookmarks Delete Find GetRows GetString Move MoveFirst MoveLast MoveNext MovePrevious NextRecordset Open 撤销对 Recordset 对象的一条记录所做的更改。 创建一个已有 Recordset 的副本。 关闭一个 Recordset。 比较两个书签。 删除一条记录或一组记录。 搜索一个 Recordset 中满足指定某个条件的一条记录。 把多条记录从一个 Recordset 对象中拷贝到一个二维数组中。 将 Recordset 作为字符串返回。 在 Recordset 对象中移动记录指针。 把记录指针移动到第一条记录。 把记录指针移动到最后一条记录。 把记录指针移动到下一条记录。 把记录指针移动到上一条记录。 通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。 打开一个数据库元素,此元素可提供对表的记录、查询的结果或保存的 Recordset 的访问。 Requery Resync Save Seek Supports Update 通过重新执行对象所基于的查询来更新 Recordset 对象中的数据。 从原始数据库刷新当前 Recordset 中的数据。 把 Recordset 对象保存到 file 或 Stream 对象中。 搜索 Recordset 的索引以快速定位与指定的值相匹配的行,并使其成为当前行。 返回一个布尔值,此值可定义 Recordset 对象是否支持特定类型的功能。 保存所有对 Recordset 对象中的一条单一记录所做的更改。

UpdateBatch 把所有 Recordset 中的更改存入数据库。请在批更新模式中使用。 事件 Note: You cannot handle events using VBScript or JScript (only Visual Basic, Visual C++, and Visual J++ languages can handle events). 事件 描述 EndOfRecordset FetchComplete FetchProgress FieldChangeComplete MoveComplete RecordChangeComplete RecordsetChangeComplete WillChangeField WillChangeRecord WillChangeRecordset WillMove 当试图移动到超过 Recordset 结尾的行时被触发。 当异步操作中的所有记录均被读取后被触发。 在异步操作期间被定期地触发,报告已读取多少记录。 Field 对象的值更改被触发。 Recordset 中的当前位置更改后被触发。 一条记录更改之后被触发。 在 Recordset 更改之后被触发。 在 Field 对象的值更改之前被触发 在一条记录更改之前被触发。 在 Recordset 更改之前被触发。 在 Recordset 中的当前位置更改之前被触发。 集合

集合 描述 Fields Properties 指示在此 Recordset 对象中 Field 对象的数目。 包含所有 Recordset 对象中的 Property 对象。 Fields 集合的属性 属性 描述 返回 fields 集合中项目的数目。以 0 起始。 例子: Count countfields = rs.Fields.Count Item(named_item/number) 返回 fields 集合中的某个指定的项目。 例子: itemfields = rs.Fields.Item(1) 或者 itemfields = rs.Fields.Item(\Properties 集合的属性 属性 描述 返回 properties 集合中项目的数目。以 0 起始。 例子: countprop = rs.Properties.Count Item(named_item/number) 返回 properties 集合中某个指定的项目。 例子: itemprop = rs.Properties.Item(1) 或者 itemprop = rs.Properties.Item(\Count ADO Stream 对象

Stream 对象 (ADO version 2.5)

ADO Stream 对象用于读写以及处理二进制数据或文本流。 Stream 对象可通过三种方法获得:

? 通过指向包含二进制或文本数据的对象(通常是文件)的 URL。此对象可以是简单的文档、表示

结构化文档的 Record 对象或文件夹。

? 通过将 Stream 对象实例化。这些 Stream 对象可用来存储用于应用程序的数据。跟与 URL

相关联的 Stream 或 Record 的默认 Stream 不同,实例化的 Stream 在默认情况下与基本源没有关联。

? 通过打开与 Record 对象相关联的默认 Stream 对象。打开 Record 时便可获取与 Record

对象相关联的默认流。只需打开该流便可删除一个往返过程。

语法

objectname.property objectname.method

属性

属性 描述 CharSet EOS LineSeparator Mode Position Size State Type 指定用于存储 Stream 的字符集。 返回当前位置是否位于流的结尾。 设置或返回用在文本 Stream 对象中的分行符。 设置或返回供修改数据的可用权限。 设置或返回从 Stream 对象开始处的当前位置(按字节计算)。 返回一个打开的 Stream 对象的大小。 返回一个描述 Stream 是打开还是关闭的值。 设置或返回 Stream 对象中的数据的类型。 方法 方法 描述 Cancel Close CopyTo Flush LoadFromFile Open Read ReadText SaveToFile SetEOS SkipLine 取消对 Stream 对象的 Open 调用的执行。 关闭一个 Stream 对象。 把指定数目的字符/比特从一个 Stream 对象拷贝到另外一个 Stream 对象。 把 Stream 缓冲区中的内容发送到相关联的下层对象。 把文件的内容载入 Stream 对象。 打开一个 Stream 对象。 从一个二进制 Stream 对象读取全部流或指定的字节数。 从一个文本 Stream 对象中读取全部流、一行或指定的字节数。 把一个 Stream 对象的二进制内容保存到某个文件。 设置当前位置为流的结尾 (EOS) 在读取一个文本流时跳过一行。 Write WriteText 把二进制数据写到一个二进制 Stream 对象。 把字符数据写到一个文本 Stream 对象。 ADO 数据类型

下面的表格列出了 Access、SQL Server 与 Oracle 之间的数据类型映射:

DataType Enum

adBigInt

Value 20

Access

SQLServer BigInt (SQL Server

2000 +)

Oracle

adBinary 128 Binary TimeStamp

Raw *

adBoolean adChar adCurrency

11 129 6

YesNo

Currency

Bit Char Money SmallMoney

Char

adDate adDBTimeStamp

7 135

Date

DateTime (Access 97

(ODBC))

DateTime DateTime SmallDateTime

Float

UniqueIdentifier (SQL

Server 7.0 +)

Date

adDecimal adDouble adGUID

14 5 72

Double

ReplicationID (Access 97 (OLEDB)), (Access 2000

(OLEDB))

Decimal * Float

adIDispatch adInteger

9 3

AutoNumber Integer Long

Identity (SQL Server

6.5) Int Image

Int *

adLongVarBinary 205 OLEObject Long Raw *

Blob (Oracle

8.1.x)

adLongVarChar

201

Memo (Access 97) Hyperlink (Access 97)

Text

Long * Clob (Oracle

8.1.x)

adLongVarWChar

203

Memo (Access 2000

(OLEDB))

Hyperlink (Access 2000

(OLEDB))

adNumeric

131

Decimal (Access 2000

(OLEDB))

Decimal Numeric

Decimal Integer Number SmallInt

adSingle adSmallInt adUnsignedTinyInt adVarBinary adVarChar adVariant

4 2 17 204 200 12

Single Integer Byte

ReplicationID (Access 97)

Text (Access 97)

Real SmallInt TinyInt VarBinary VarChar Sql_Variant (SQL Server 2000 +)

adVarWChar

202

Text (Access 2000

(OLEDB))

adWChar

130

NVarChar (SQL Server 7.0 +) NChar (SQL Server

7.0 +)

* 在 Oracle 8.0.x 中 - decimal 和 int 等于 number 和 number(10)。

NVarChar2

VarChar VarChar2

NText (SQL Server

7.0 +)

NClob (Oracle 8.1.x)

本文来源:https://www.bwwdw.com/article/3m18.html

Top