执行在 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 事件。