目录
一、Command 对象
1.Command 对象
Command 对象用于执行面向数据库的一次简单查询。此查询可执行诸如创建、添加、取回、删除或更新记录等动作。主要特性是有能力使用存储查询和带有参数的存储过程。
2.语法
set objCommand=Server.CreateObject("ADODB.command")
3.属性
属性 |
描述 |
ActiveConnection |
设置或返回包含了定义连接或 Connection 对象的字符串。 |
CommandText |
设置或返回包含提供者(provider)命令(如 SOL 语句、表格名称或存储的过程调用)的字符串值。默认值为 ""(零长度字符串)。 |
CommandTimeout |
设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默认值为 30。 |
CommandType |
设置或返回一个 Command 对象的类型 |
Name |
设置或返回一个 Command 对象的名称 |
Prepared |
指示执行前是否保存命令的编译版本(已经准备好的版本)。 |
State |
返回一个值,此值可描述该 Command 对象处于打开、关闭、连接、执行还是取回数据的状态。 |
4.方法
方法 |
方法描述 |
Cancel |
取消一个方法的一次执行。 |
CreateParameter |
创建一个新的 Parameter 对象 |
Execute |
执行 CommandText 属性中的查询、SQL 语句或存储过程。 |
5.集合
集合 |
描述 |
Parameters |
包含一个 Command 对象的所有 Parameter 对象。 |
Properties |
包含一个 Command 对象的所有 Property 对象。 |
二、Connection 对象
1.Connection 对象
Connection 对象用于创建一个到达某个数据源的开放连接。通过此连接,可以对一个数据库进行访问和操作。
如果需要多次访问某个数据库,应当使用 Connection 对象来建立一个连接。也可以经由一个 Command 或 Recordset 对象传递一个连接字符串来创建某个连接。不过,此类连接仅仅适合一次具体的简单的查询。
2.语法
set objConnection=Server.CreateObject("ADODB.connection")
3.属性
属性 |
描述 |
Attributes |
设置或返回 Connection 对象的属性。 |
CommandTimeout |
指示在终止尝试和产生错误之前执行命令期间需等待的时间。 |
ConnectionString |
设置或返回用于建立连接数据源的细节信息。 |
ConnectionTimeout |
指示在终止尝试和产生错误前建立连接期间所等待的时间。 |
CursorLocation |
设置或返回游标服务的位置。 |
DefaultDatabase |
指示 Connection 对象的默认数据库。 |
IsolationLevel |
指示 Connection 对象的隔离级别。 |
Mode |
设置或返回 provider 的访问权限。 |
Provider |
设置或返回 Connection 对象提供者的名称。 |
State |
返回一个描述连接是打开还是关闭的值。 |
Version |
返回 ADO 的版本号。 |
4.方法
方法 |
描述 |
BeginTrans |
开始一个新事务。 |
Cancel |
取消一次执行。 |
Close |
关闭一个连接。 |
CommitTrans |
保存任何更改并结束当前事务。 |
Execute |
执行查询、SQL 语句、存储过程或 provider 具体文本。 |
Open |
打开一个连接。 |
OpenSchema |
从 provider 返回有关数据源的 schema 信息。 |
RollbackTrans |
取消当前事务中所作的任何更改并结束事务。 |
5.事件
事件 |
事件描述 |
BeginTransComplete |
在 BeginTrans 操作之后被触发。 |
CommitTransComplete |
在 CommitTrans 操作之后被触发。 |
ConnectComplete |
在一个连接开始后被触发。 |
Disconnect |
在一个连接结束之后被触发。 |
ExecuteComplete |
在一条命令执行完毕后被触发。 |
InfoMessage |
假如在一个 ConnectionEvent 操作过程中警告发生,则触发该事件。 |
RollbackTransComplete |
在 RollbackTrans 操作之后被触发。 |
WillConnect |
在一个连接开始之前被触发。 |
WillExecute |
在一条命令被执行之前被触发。 |
6.集合
集合 |
集合描述 |
Errors |
包含 Connection 对象的所有 Error 对象。 |
Properties |
包含 Connection 对象的所有 Property 对象。 |
三、Error 对象
1.Error 对象
Error 对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息。
ADO 会因每次错误产生一个 Error 对象。每个 Error 对象包含具体错误的详细信息,且 Error 对象被存储在 Errors 集合中。要访问这些错误,就必须引用某个具体的连接。
循环遍历 Errors 集合:
<%
for each objErr in objConn.Errors
response.write("<p>")
response.write("Description: ")
response.write(objErr.Description & "<br />")
response.write("Help context: ")
response.write(objErr.HelpContext & "<br />")
response.write("Help file: ")
response.write(objErr.HelpFile & "<br />")
response.write("Native error: ")
response.write(objErr.NativeError & "<br />")
response.write("Error number: ")
response.write(objErr.Number & "<br />")
response.write("Error source: ")
response.write(objErr.Source & "<br />")
response.write("SQL state: ")
response.write(objErr.SQLState & "<br />")
response.write("</p>")
next
%>
2.语法
objErr.property
3.属性
属性 |
描述 |
Description |
返回一个错误描述。 |
HelpContext |
返回 Microsoft Windows help system 中某个主题的内容 ID。 |
HelpFile |
返回 Microsoft Windows help system 中帮助文件的完整路径。 |
NativeError |
返回来自 provider 或数据源的错误代码。 |
Number |
返回可标识错误的一个唯一的数字。 |
Source |
返回产生错误的对象或应用程序的名称。 |
SQLState |
返回一个 5 字符的 SQL 错误码。 |
四、Parameter 对象
1.Field 对象
ADO Field 对象包含有关 Recordset 对象中某一列的信息。Recordset 中的每一列对应一个 Field 对象。
2.语法
set objField=Server.CreateObject("ADODB.field")
3.属性
属性 |
描述 |
ActualSize |
返回一个字段值的实际长度。 |
Attributes |
设置或返回 Field 对象的属性。 |
DefinedSize |
返回Field 对象被定义的大小 |
Name |
设置或返回 Field 对象的名称。 |
NumericScale |
设置或返回 Field 对象中的值所允许的小数位数。 |
OriginalValue |
返回某个字段的原始值。 |
Precision |
设置或返回当表示 Field 对象中的数值时所允许的数字的最大数。 |
Status |
返回 Field 对象的状态。 |
Type |
设置或返回 Field 对象的类型。 |
UnderlyingValue |
返回一个字段的当前值。 |
Value |
设置或返回 Field 对象的值。 |
4.方法
方法 |
描述 |
AppendChunk |
把大型的二进制或文本数据追加到 Field 对象 |
GetChunk |
返回大型二进制或文本 Field 对象的全部或部分内容。 |
5.集合
集合 |
描述 |
Properties |
包含一个 Field 对象的所有 Property 对象。 |
五、Parameter 对象
1.Parameter 对象
Parameter 对象可提供有关被用于存储过程或查询中的一个单个参数的信息。在其被创建时被添加到 Parameters 集合。Parameters 集合与一个具体的 Command 对象相关联,Command 对象使用此集合在存储过程和查询内外传递参数。
参数被用来创建参数化的命令。这些命令(在它们已被定义和存储之后)使用参数在命令执行前来改变命令的某些细节。例如,SQL SELECT 语句可使用参数定义 WHERE 子句的匹配条件,而使用另一个参数来定义 SORT BY 子句的列的名称。
有四种类型的参数:input 参数、output 参数、input/output 参数 以及 return 参数。
2.语法
objectname.property
objectname.method
3.属性
属性 |
描述 |
Attributes |
设置或返回一个 Parameter 对象的属性。 |
Direction |
设置或返回某个参数如何传递到存储过程或从存储过程传递回来。 |
Name |
设置或返回一个 Parameter 对象的名称。 |
NumericScale |
设置或返回一个 Parameter 对象的数值的小数点右侧的数字数目。 |
Precision |
设置或返回当表示一个参数中数值时所允许数字的最大数目。 |
Size |
设置或返回 Parameter 对象中的值的最大大小(按字节或字符)。 |
Type |
设置或返回一个 Parameter 对象的类型。 |
Value |
设置或返回一个 Parameter 对象的值。 |
4.方法
方法 |
描述 |
AppendChunk |
把长二进制或字符数据追加到一个 Parameter 对象。 |
Delete |
从 Parameters 集合中删除一个对象。 |
六、Property 对象
1.Property 对象
ADO 对象有两种类型的属性:内置属性和动态属性。
内置属性是在 ADO 中实现并立即可用于任何新对象的属性,此时使用 MyObject.Property 语法。它们不会作为 Property 对象出现在对象的 Properties 集合中,因此,虽然可以更改它们的值,但无法更改它们的特性。
Property 对象表示 ADO 对象的动态特性,这种动态特性是被 provider 定义的。
每个与 ADO 对话的 provider 拥有不同的方式与 ADO 进行交互。所以,ADO 需要通过某种方式来存储有关 provider 的信息。解决方法是 provider 为 ADO 提供具体的信息(动态属性)。ADO 把每个 provider 属性存储在一个 Property 对象中,而 Property 对象相应地也被存储在 Properties 集合中。此集合会被分配到 Command 对象、Connection 对象、Field 对象 或者 Recordset 对象。
例如,指定给提供者的属性可能会指示 Recordset 对象是否支持事务或更新。这些附加的属性将作为 Property 对象出现在该 Recordset 对象的 Properties 集合中。
2.语法
set objProperty=Server.CreateObject("ADODB.property")
3.属性
属性 |
描述 |
Attributes |
返回一个 Property 对象的属性 |
Name |
设置或返回一个 Property 对象的名称 |
Type |
返回 Property 的类型 |
Value |
设置或返回 一个 Property 对象的值 |
七、Record 对象
1.Record 对象
Record 对象用于容纳记录集中的一行、或文件系统的一个文件或一个目录。允许访问行与行之间的列数且/或数据类型不同的数据集。
2.语法
objectname.property
objectname.method
3.属性
属性 |
描述 |
ActiveConnection |
设置或返回 Record 对象当前所属的 Connection 对象。 |
Mode |
设置或返回在Record 对象中修改数据的有效权限。 |
ParentURL |
返回父 Record 的绝对URL。 |
RecordType |
返回 Record 对象的类型。 |
Source |
设置或返回 Record 对象的 Open 方法的 src 参数。 |
State |
返回 Record 对象的状态。 |
4.方法
方法 |
描述 |
Cancel |
取消一次 CopyRecord、DeleteRecord、MoveRecord 或 Open 调用的执行。 |
Close |
Close 关闭一个 Record 对象。 |
CopyRecord |
把文件或目录拷贝到另外一个位置。 |
DeleteRecord |
删除一个文件或目录。 |
GetChildren |
返回一个 Recordset 对象,其中的每一行表示目录中的文件或子目录。 |
MoveRecord |
把文件或目录移动到另外一个位置。 |
Open |
打开一个已有的 Record 对象或创建一个新的文件或目录。 |
5.集合
集合 |
描述 |
Properties |
特定提供者属性的一个集合。 |
Fields |
包含 Record 对象中的所有 Field 对象。 |
八、Recordset 对象
1.Recordset 对象
Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字段)组成。在 ADO 中,此对象是最重要且最常用于对数据库的数据进行操作的对象。
2.语法
set objRecordset=Server.CreateObject("ADODB.recordset")
首次打开一个 Recordset 时,当前记录指针将指向第一个记录,同时 BOF 和 EOF 属性为 False。如果没有记录,BOF 和 EOF 属性为 True。
Recordset 对象能够支持两种更新类型:
立即更新 - 一旦调用 Update 方法,所有更改被立即写入数据库。
批更新 - provider 将缓存多个更改,然后使用 UpdateBatch 方法把这些更改传送到数据库。
在 ADO,定义了 4 中不同的游标(指针)类型:
动态游标 - 允许您查看其他用户所作的添加、更改和删除
键集游标 - 类似动态游标,不同的是您无法查看有其他用户所做的添加,并且它会防止您访问其他用户已删除的记录。其他用户所做的数据更改仍然是可见的。
静态游标 - 提供记录集的静态副本,可用来查找数据或生成报告。此外,由其他用户所做的添加、更改和删除将是不可见的。当您打开一个客户端 Recordset 对象时,这是唯一被允许的游标类型。
仅向前游标 - 只允许在 Recordset 中向前滚动。此外,由其他用户所做的添加、更改和删除将是不可见的。
可通过 CursorType 属性或 Open 方法中的 CursorType 参数来设置游标的类型。
3.属性
属性 |
属性描述 |
AbsolutePage |
设置或返回一个可指定 Recordset 对象中页码的值。 |
AbsolutePosition |
设置或返回一个值,此值可指定 Recordset 对象中当前记录的顺序位置(序号位置)。 |
ActiveCommand |
返回与 Recordset 对象相关联的 Command 对象。 |
ActiveConnection |
如果连接被关闭,设置或返回连接的定义,如果连接打开,设置或返回当前的 Connection 对象。 |
BOF |
如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。 |
Bookmark |
设置或返回一个书签。此书签保存当前记录的位置。 |
CacheSize |
设置或返回能够被缓存的记录的数目。 |
CursorLocation |
设置或返回游标服务的位置。 |
CursorType |
设置或返回一个 Recordset 对象的游标类型。 |
DataMember |
设置或返回要从 DataSource 属性所引用的对象中检索的数据成员的名称。 |
DataSource |
指定一个包含要被表示为 Recordset 对象的数据的对象。 |
EditMode |
返回当前记录的编辑状态。 |
EOF |
如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。 |
Filter |
返回一个针对 Recordset 对象中数据的过滤器。 |
Index |
设置或返回 Recordset 对象的当前索引的名称。 |
LockType |
设置或返回当编辑 Recordset 中的一条记录时,可指定锁定类型的值。 |
MarshalOptions |
设置或返回一个值,此值指定哪些记录被返回服务器。 |
MaxRecords |
设置或返回从一个查询返回 Recordset 对象的的最大记录数目。 |
PageCount |
返回一个 Recordset 对象中的数据页数。 |
PageSize |
设置或返回 Recordset 对象的一个单一页面上所允许的最大记录数。 |
RecordCount |
返回一个 Recordset 对象中的记录数目。 |
Sort |
设置或返回一个或多个作为 Recordset 排序基准的字段名。 |
Source |
设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。 |
State |
返回一个值,此值可描述是否 Recordset 对象是打开、关闭、正在连接、正在执行或正在取回数据。 |
Status |
返回有关批更新或其他大量操作的当前记录的状态。 |
StayInSync |
设置或返回当父记录位置改变时对子记录的引用是否改变。 |
4.方法
方法 |
描述 |
AddNew |
创建一条新记录。 |
Cancel |
撤销一次执行。 |
CancelBatch |
撤销一次批更新。 |
CancelUpdate |
撤销对 Recordset 对象的一条记录所做的更改。 |
Clone |
创建一个已有 Recordset 的副本。 |
Close |
关闭一个 Recordset。 |
CompareBookmarks |
比较两个书签。 |
Delete |
删除一条记录或一组记录。 |
Find |
搜索一个 Recordset 中满足指定某个条件的一条记录。 |
GetRows |
把多条记录从一个 Recordset 对象中拷贝到一个二维数组中。 |
GetString |
将 Recordset 作为字符串返回。 |
Move |
在 Recordset 对象中移动记录指针。 |
MoveFirst |
把记录指针移动到第一条记录。 |
MoveLast |
把记录指针移动到最后一条记录。 |
MoveNext |
把记录指针移动到下一条记录。 |
MovePrevious |
把记录指针移动到上一条记录。 |
NextRecordset |
通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。 |
Open |
打开一个数据库元素,此元素可提供对表的记录、查询的结果或保存的 Recordset 的访问。 |
Requery |
通过重新执行对象所基于的查询来更新 Recordset 对象中的数据。 |
Resync |
从原始数据库刷新当前 Recordset 中的数据。 |
Save |
把 Recordset 对象保存到 file 或 Stream 对象中。 |
Seek |
搜索 Recordset 的索引以快速定位与指定的值相匹配的行,并使其成为当前行。 |
Supports |
返回一个布尔值,此值可定义 Recordset 对象是否支持特定类型的功能。 |
Update |
保存所有对 Recordset 对象中的一条单一记录所做的更改。 |
UpdateBatch |
把所有 Recordset 中的更改存入数据库。请在批更新模式中使用。 |
5.事件
事件 |
描述 |
EndOfRecordset |
当试图移动到超过 Recordset 结尾的行时被触发。 |
FetchComplete |
当异步操作中的所有记录均被读取后被触发。 |
FetchProgress |
在异步操作期间被定期地触发,报告已读取多少记录。 |
FieldChangeComplete |
Field对象的值更改被触发。 |
MoveComplete |
Recordset中的当前位置更改后被触发。 |
RecordChangeComplete |
一条记录更改之后被触发。 |
RecordsetChangeComplete |
在 Recordset 更改之后被触发。 |
WillChangeField |
在 Field 对象的值更改之前被触发 |
WillChangeRecord |
在一条记录更改之前被触发。 |
WillChangeRecordset |
在 Recordset 更改之前被触发。 |
WillMove |
在 Recordset 中的当前位置更改之前被触发。 |
九、Stream 对象
1.Stream 对象
Stream 对象用于读写以及处理二进制数据或文本流。
通过三种方法获得:
1.通过指向包含二进制或文本数据的对象(通常是文件)的 URL。此对象可以是简单的文档、表示结构化文档的 Record 对象或文件夹。
2.通过将 Stream 对象实例化。这些 Stream 对象可用来存储用于应用程序的数据。跟与 URL 相关联的 Stream 或 Record 的默认 Stream 不同,实例化的 Stream 在默认情况下与基本源没有关联。
3.通过打开与 Record 对象相关联的默认 Stream 对象。打开 Record 时便可获取与 Record 对象相关联的默认流。只需打开该流便可删除一个往返过程。
2.语法
objectname.property
objectname.method
3.属性
属性 |
描述 |
CharSet |
指定用于存储 Stream 的字符集。 |
EOS |
返回当前位置是否位于流的结尾。 |
LineSeparator |
设置或返回用在文本 Stream 对象中的分行符。 |
Mode |
设置或返回供修改数据的可用权限。 |
Position |
设置或返回从 Stream 对象开始处的当前位置(按字节计算)。 |
Size |
返回一个打开的 Stream 对象的大小。 |
State |
返回一个描述 Stream 是打开还是关闭的值。 |
Type |
设置或返回 Stream 对象中的数据的类型。 |
方法
方法 |
描述 |
Cancel |
取消对 Stream 对象的 Open 调用的执行。 |
Close |
关闭一个 Stream 对象。 |
CopyTo |
把指定数目的字符/比特从一个 Stream 对象拷贝到另外一个 Stream 对象。 |
Flush |
把 Stream 缓冲区中的内容发送到相关联的下层对象。 |
LoadFromFile |
把文件的内容载入 Stream 对象。 |
Open |
打开一个 Stream 对象。 |
Read |
从一个二进制 Stream 对象读取全部流或指定的字节数。 |
ReadText |
从一个文本 Stream 对象中读取全部流、一行或指定的字节数。 |
SaveToFile |
把一个 Stream 对象的二进制内容保存到某个文件。 |
SetEOS |
设置当前位置为流的结尾 (EOS) |
SkipLine |
在读取一个文本流时跳过一行。 |
Write |
把二进制数据写到一个二进制 Stream 对象。 |
WriteText |
把字符数据写到一个文本 Stream 对象。 |
十、附加
1.Fields 集合的属性
属性 |
描述 |
Count |
返回 fields 集合中的项目数。起始值为 0。例子: countfields = rec.Fields.Count |
Item(named_item/number) |
返回 fields 集合中的某个指定的项目。例子: itemfields = rec.Fields.Item(1) 或者itemfields = rec.Fields.Item("Name") |
2.Properties 集合的属性
属性 |
描述 |
Count |
返回 properties 集合中项目的数目。以 0 起始。例子: countprop = rs.Properties.Count |
Item(named_item/number) |
返回 properties 集合中某个指定的项目。例子:itemprop = rs.Properties.Item(1) 或者itemprop = rs.Properties.Item("Name") |