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) %>
ExecuteOptionEnum 值
常量 | 值 | 描述 |
---|---|---|
adOptionUnspecified | -1 | 指示未指定命令。 |
adAsyncExecute | 0x10 | 指示命令将异步执行。此值不能与 CommandTypeEnum 值 adCmdTableDirect 结合。 |
adAsyncFetch | 0x20 | 指示在 CacheSize 属性中指定的初始数量以后的剩余行将被异步检索。 |
adAsyncFetchNonBlocking | 0x40 |
指示检索时主线程从不会阻塞。如果未检索到所请求的行,当前行将自行移动到文件结尾。 如果从包含持久存储 Recordset 的 Stream 中打开 Recordset,那么 adAsyncFetchNonBlocking 将不起作用;该操作将同步进行并发生阻塞。 当 adCmdTableDirect 选项被用于打开 Recordset 时,adAsynchFetchNonBlocking 不起作用。 |
adExecuteNoRecords |
指示命令文本是不返回行的命令或存储过程(例如,仅插入数据的命令)。如果检索到任何行,它们将被放弃且不返回。通常与 CommandTypeEnum 值 adCmdText 或 adCmdStoredProc 组合在一起。 adExecuteNoRecords 只能作为可选参数传递给 Command 或 Connection Execute 方法。把它用作 Command 对象的 CommandType 属性的参数将产生错误。 |
|
adExecuteStream | 指示命令执行的结果应作为流来返回。adExecuteStream 只能作为可选参数传递给 Command Execute 方法。 | |
adExecuteRecord | 指示 CommandText 是返回单一行的命令或存储过程,此行应作为 Record 对象来返回。 |