ADO Execute 方法


❮ 完整的 Command 命令对象参考

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.CommandText="SELECT * FROM Customers"
objCommand.Execute
%>

or

<%
Set objcommand.CommandText="Customers"
objCommand.Execute(,,adCmdTableDirect)
%>

CommandTypeEnum Values

常量 描述
adCmdUnspecified -1 不指定命令类型参数。
adCmdText 1 将 CommandText 评估为命令或存储过程调用的文本定义。
adCmdTable 2 将 CommandText 计算为一个表名,其列全部由内部生成的 SQL 查询返回。
adCmdStoredProc 4 将 CommandText 计算为存储过程名称。
adCmdUnknown 8 表示CommandText属性中的命令类型未知。
adCmdFile 256 将 CommandText 计算为持久存储的 Recordset 的文件名。仅与 Recordset 一起使用。打开或重新查询。
adCmdTableDirect 512 将 CommandText 计算为一个表名,其列全部返回。仅与 Recordset.Open 或 Requery 一起使用。要使用 Seek 方法,必须使用 adCmdTableDirect 打开 Recordset。此值不能与 ExecuteOptionEnum 值 adAsyncExecute 组合。

ExecuteOptionEnum 值

常量 描述
adOptionUnspecified -1 表示命令未指定。
adAsyncExecute   表示命令应该异步执行。此值不能与 CommandTypeEnum 值 adCmdTableDirect 组合。
adAsyncFetch   表示在 CacheSize 属性中指定的初始数量之后的剩余行应该异步检索。
adAsyncFetchNonBlocking   表示主线程在检索时从不阻塞。如果尚未检索到请求的行,则当前行自动移至文件末尾。如果您从包含持久存储的 Recordset 的 Stream 打开 Recordset,adAsyncFetchNonBlocking 将不起作用;该操作将是同步和阻塞的。当使用 adCmdTableDirect 选项打开 Recordset 时,adAsynchFetchNonBlocking 无效。
adExecuteNoRecords   表示命令文本是不返回行的命令或存储过程(例如,只插入数据的命令)。如果检索到任何行,它们将被丢弃且不返回。 adExecuteNoRecords 只能作为可选参数传递给 Command 或 Connection Execute 方法。
adExecuteStream   表示命令执行的结果应该作为流返回。 adExecuteStream 只能作为可选参数传递给 Command Execute 方法。
adExecuteRecord   表明 CommandText 是一个命令或存储过程,它返回应作为 Record 对象返回的单行。

❮ 完整的 Command 命令对象参考