Execute 方法 (ADO Command)

       

执行在 CommandText 属性中指定的查询、SQL 语句或存储过程。

语法

对于按行返回的 Command

Set recordset = command.Execute( RecordsAffected, Parameters, Options )

对于非按行返回的 Command

command.Execute RecordsAffected, Parameters, Options

返回值

返回 Recordset 对象引用。

参数

RecordsAffected   可选,长整型变量,提供者向其返回操作所影响的记录数目。RecordsAffected 参数仅应用于操作查询或存储过程。RecordsAffected 不返回由返回结果的查询或存储过程所返回的记录数目。详细信息,请使用 RecordCount 属性。

Parameters   可选,变体型数组,使用 SQL 语句传送的参数值。(用该参数传送时输出参数将不返回正确值。)

Options   可选,长整型值,指示提供者如何计算 Command 对象的 CommandText 属性。该值可为下列常量之一:

常量 说明
AdCmdText 指示提供者应按命令的文本定义(如 SQL 语句)来计算 CommandText
AdCmdTable 指示 ADO 应生成 SQL 查询以便从 CommandText 命名的表中返回所有行。
AdCmdTableDirect 指示提供者应从 CommandText 命名的表中返回所有行。
AdCmdStoredProc 指示提供者应按存储过程计算 CommandText
AdCmdUnknown 指示 CommandText 中的命令类型未知。
adAsyncExecute 指示命令应异步执行。
adAsyncFetch 指示对由 CacheSize 属性指定的初始数量之后的剩余行应使用异步提取。

本列表中前 4 个常量的详细说明请参见 CommandType 属性。

说明

使用 Command 对象的 Execute 方法可执行在对象的 CommandText 属性中指定的查询。如果 CommandText 属性指定按行返回查询,执行所产生的任何结果都将存储在新的 Recordset 对象中。如果该命令不是按行返回查询,则提供者返回关闭的 Recordset 对象。某些应用程序语言允许忽略该返回值(如果不需要任何 Recordset)。

如果查询带有参数,将使用 Command 对象中参数的当前值,除非通过 Execute 调用传送的参数覆盖它们。可以在调用 Execute 方法时通过省略某些参数的新值来覆盖参数子集。指定参数的次序与其在方法中被传送的次序相同。例如,如果有 4 个(或更多)参数并且希望只为第一个和第四个参数传送新值,则可以将 Array(var1,,,var4) 作为 Parameters 参数传送。

注意    Parameters 参数中传送时输出参数将不返回正确的值。

该操作结束后将发出 ExecuteComplete 事件。