ADO Command 对象
ADO Command 对象用于执行面向数据库的一次简单查询。此查询可执行诸如创建、添加、取回、删除或更新记录等动作。
如果该查询用于取回数据,此数据将以一个 RecordSet 对象返回。这意味着被取回的数据能够被 RecordSet 对象的属性、集合、方法或事件进行操作。
Command 对象的主要特性是有能力使用存储查询和带有参数的存储过程。
ProgID
set objCommand=Server.CreateObject("ADODB.command")
属性
| 属性 | 描述 |
|---|---|
| ActiveConnection | 设置或返回包含了定义连接或 Connection 对象的字符串。 |
| CommandText | 设置或返回包含提供者(provider)命令(如 SOL 语句、表格名称或存储的过程调用)的字符串值。默认值为 ""(零长度字符串)。 |
| CommandTimeout | 设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默认值为 30。 |
| CommandType | 设置或返回一个 Command 对象的类型 |
| Name | 设置或返回一个 Command 对象的名称 |
| Prepared | 指示执行前是否保存命令的编译版本(已经准备好的版本)。 |
| State | 返回一个值,此值可描述该 Command 对象处于打开、关闭、连接、执行还是取回数据的状态。 |
ADO ActiveConnection 属性
定义和用法
ActiveConnection 属性可指示 Command 对象当前所属的 Connection 对象。
如果连接被关闭,它可设置或返回连接的定义。如果连接打开,它会设置或返回当前的 Connection 对象。
语法
objcommand.ActiveConnection
实例
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set comm=Server.CreateObject("ADODB.Command") comm.ActiveConnection=conn response.write(comm.ActiveConnection) conn.close %>
ADO CommandText 属性
定义和用法
CommandText 属性可设置或返回一个字符串,该字符串包含一个 provider 命令,比如一条 SQL 语句、一个表名称、一个相对 URL、或者一个存储过程调用。默认值为零 ""(零长度字符串)。
语法
objcommand.CommandText
实例
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set comm=Server.CreateObject("ADODB.Command") comm.CommandText="orders" response.write(comm.CommandText) conn.close %>
ADO CommandTimeout 属性
定义和用法
CommandTimeout 属性可设置或返回执行命令期间在终止尝试和产生错误之前需等待的时间。
设置或返回 Long 值,该值指示等待命令执行的秒数。默认值为 30。
语法
object.CommandTimeout
实例
针对 Command 对象:
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set comm=Server.CreateObject("ADODB.Command") comm.CommandTimeout=10 response.write(comm.CommandTimeout) conn.close %> //针对 Connection 对象: <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" conn.CommandTimeout=10 response.write(conn.CommandTimeout) conn.close %>
ADO CommandType 属性
定义和用法
CommandType 属性可设置或返回一个 CommandTypeEnum 值,该值可定义 Command 对象的类型。默认是 adCmdUnknown。
如果您没有规定此类型,ADO 将需要联系 provider 以确定命令的类型。如果您定义了该类型,则 ADO 将有能力更快地处理此命令。
语法
objcommand.CommandType
实例
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set comm=Server.CreateObject("ADODB.Command") comm.CommandText="orders" comm.CommandType=adCmdTable response.write(comm.CommandType) conn.close %>
ADO Name 属性
定义和用法
Name 属性可设置或返回一个字符串,该值包含 Command、Property、Field 或者 Parameter 对象的名称。
| 对象 | Name 属性的描述 |
|---|---|
| Command | Name 属性拥有对 Command 对象的读写权限。 |
| Property | Name 属性拥有对 Property 属性的只读权限。 |
| Field | 在被用于创建 Recordset 时 Name 属性拥有读写权限,但是当您打开一个已有的 Recordset 时是只读的。 |
| Parameter | 对于尚未追加到 Parameters 集合的 Parameter 对象,Name 属性为读/写。对于已追加的 Parameter 对象和所有其他对象,Name 属性为只读。名称在集合中不必是唯一的。 |
语法
object.Name
实例
针对 Command 对象:
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set comm=Server.CreateObject("ADODB.Command") comm.Name="xx" response.write(comm.Name) conn.close %>
针对 Field 对象:
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs = Server.CreateObject("ADODB.Recordset") rs.open "Select * from orders", conn set f=Server.CreateObject("ADODB.Field") 'Display the field attributes of the Orders Table for each f in rs.Fields response.write("Attr:" & f.Attributes & "<br />") response.write("Name:" & f.Name & "<br />") response.write("Value:" & f.Value & "<br />") next rs.Close conn.close set rs=nothing set conn=nothing %>
针对 Property 对象:
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs = Server.CreateObject("ADODB.Recordset") rs.open "Select * from orders", conn set prop=Server.CreateObject("ADODB.Property") 'Display the property attributes of the Orders Table for each prop in rs.Properties response.write("Attr:" & prop.Attributes & "<br />") response.write("Name:" & prop.Name & "<br />") response.write("Value:" & prop.Value & "<br />") next rs.close conn.close set rs=nothing set conn=nothing %>
ADO Prepared 属性
定义和用法
Prepared 属性可返回或设置一个布尔值,如果设置为 True,则指示该命令应该保存查询的一个准备好的(或已编译的)版本, 该查询是第一次执行 Command 对象前在 CommandText 属性中指定的。
这会降低命令的首次执行速度,但是在第一次执行执行后,provider 将使用已编译的版本,这样就可以加快执行速度。
如果该属性为 False,提供者将直接执行 Command 对象而不创建编译版本。
如果提供者不支持命令准备,则一旦将此属性设置为 True,提供者便可能返回错误。如果它不返回错误,则仅忽略准备命令的请求,并将 Prepared 属性设置为 False。
语法
objcommand.Prepared=true or false
实例
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set comm=Server.CreateObject("ADODB.Command") comm.ActiveConnection=conn comm.CommandText="orders" comm.Prepared=true response.write(comm.Prepared) conn.close %>
ADO State 属性
定义和用法
State 属性可返回一个值,该值描述对象的当前状态是打开、关闭、正在连接、正在执行还是正在检索数据。该值返回ObjectStateEnum 值。默认值为 adStateClosed。
此属性可用于 Command, Connection, Record, Recordset 以及 Stream 对象。
State 属性可以是值的组合。例如,如果正在执行某个语句,此属性将有一个 adStateOpen 和 adStateExecuting 的组合值。
State 属性为只读。
语法
object.State
实例
针对 Command 对象:
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set comm=Server.CreateObject("ADODB.Command") response.write(comm.State) conn.close %>
针对 Connection 对象:
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" response.write(conn.State) conn.close %>
方法
| 方法 | 描述 |
|---|---|
| Cancel | 取消一个方法的一次执行。 |
| CreateParameter | 创建一个新的 Parameter 对象 |
| Execute | 执行 CommandText 属性中的查询、SQL 语句或存储过程。 |
ADO Cancel 方法
定义和用法
Cancel 方法可取消方法调用的执行。
Cancel 方法可为不同的对象终止不同的任务。下面的表格列出了当此方法被调用时被终止的任务:
| 对象 | 被终止的任务 |
|---|---|
| Command | Execute。
注释:在 Cancel 方法被调用之前,Execute 方法的 Options 参数必须被设置为 adAsyncExecute 或者 adAsyncFetch,否则会发生 run-time 错误。 |
| Connection | Execute 或 Open。
注释:在 Cancel 方法被调用之前,Open 方法的 Options 参数必须被设置为 adSyncConnect,Execute 方法的 Options 参数必须被设置为 adAsyncExecute 或者 adAsyncFetch,否则会发生 run-time 错误。 |
| Record | CopyRecord, DeleteRecord, MoveRecord, 或者 Open。 |
| Recordset | Open |
| Stream | Open |
语法
object.Cancel
ADO CreateParameter 方法
定义和用法
CreateParameter 方法可创建和返回一个 Parameter 对象,该对象包含指定的属性,比如名称、类型、方向、大小和值。
注释:此方法不会将 Parameter 对象自动追加到 Command 对象的 Parameters 集合。如需向 Parameters 集合添加 Parameter 对象,请使用 Append 属性。
语法
Set objparameter=objcommand.CreateParameter
(name,type,direction,size,value)
| 参数 | 描述 |
|---|---|
| name | 可选。Parameter 对象的名称。 |
| type | 可选。DataTypeEnum 常量之一,指定 Parameter 对象的数据类型。默认是 adEmpty。如果你选择可变长度的数据类型,则需要规定 Size 参数或 Size 属性。如果规定 adDecimal 或者 adNumeric 数据类型,则必须设置 Parameter 对象的NumericScale 和 Precision 属性。 |
| direction | 可选。ParameterDirectionEnum 常量之一,定义 Parameter 对象的方向。默认是 adParamInput。 |
| size | 可选。规定可变数据类型的长度,假如此类类型被声明于 Type 参数中。默认是 0。 |
| value | 可选。Parameter 对象的值。 |
ADO Execute 方法
定义和用法
Execute 方法可执行 Command 对象的 CommandText 属性中指定的查询、SQL 语句或存储过程。
如果 CommandText 属性指定以行返回的查询,执行产生的任何结果都将存储在新的 Recordset 对象中。如果此命令不是以行返回的查询,提供者将返回关闭的 Recordset 对象。
语法:对于以行返回的 Command:
Set rs=objcommand.Execute(ra,parameters,options)
语法:对于不是以行返回的 Command:
objcommand.Execute ra,parameters,options
| 参数 | 描述 |
|---|---|
| ra | 可选。返回受查询影响的记录的数目。对于以行返回的查询,请使用 Recordset 对象的 RecordCount 属性来计算该对象中的记录数量。 |
| parameters | 可选。用 SQL 语句传递的参数值。用于更改、更新或向 Parameters 集合插入新的参数值。 |
| options | 可选。指示提供者应如何计算 Command 对象的 CommandText 属性。可以是一个或者多个CommandTypeEnum 或 ExecuteOptionEnum 值。默认是 adCmdUnspecified。 |
实例
<% Set objcommand.Text="SELECT * FROM Customers" objCommand.Execute %> //或者: <% Set objcommand.Text="Customers" objCommand.Execute(,,adCmdTableDirect) %>
集合
| 集合 | 描述 |
|---|---|
| Parameters | 包含一个 Command 对象的所有 Parameter 对象。 |
| Properties | 包含一个 Command 对象的所有 Property 对象。 |

浙公网安备 33010602011771号