Execute 方法(ADO 命令)

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

语法

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

返回值

返回一个 Recordset 对象引用、一个流或 Nothing。

参数

RecordsAffected
可选。 一个 Long 变量,提供程序将此操作影响的记录数返回给该变量。 RecordsAffected 参数仅适用于操作查询或存储过程。 RecordsAffected 不返回由返回结果的查询或存储过程返回的记录数。 若要获取此信息,请使用 RecordCount 属性。 当与 adAsyncExecute 一起使用时,Execute 方法不会返回正确的信息,这只是因为当异步执行命令时,受影响的记录数在方法返回时可能还是未知的。

参数
可选。 与 CommandText 或 CommandStream 中指定的输入字符串或流结合使用的参数值的 Variant 数组。 (在此参数中传递时,输出参数将不会返回正确的值。)

选项
可选。 一个 Long 值,指示提供程序应如何对 Command 对象的 CommandTextCommandStream 属性求值。 可以是使用 CommandTypeEnum 和/或 ExecuteOptionEnum 值生成的位掩码值。 例如,如果想让 ADO 将 CommandText 属性的值作为文本进行计算,并指示命令应该丢弃且不返回在命令文本执行时可能生成的任何记录,可以将 adCmdText 和 adExecuteNoRecords 结合使用。

注意

使用 ExecuteOptionEnum 值 adExecuteNoRecords 可通过最大程度地减少内部处理来提高性能。 如果指定了 adExecuteStream,则会忽略选项 adAsyncFetch 和 adAsynchFetchNonBlocking。 请勿将 CommandTypeEnum 值 adCmdFile 或 adCmdTableDirect 与 Execute 结合使用。 这些值只能作为选项与 Recordset 的 OpenRequery 方法配合使用。

备注

对 Command 对象使用 Execute 方法会执行在该对象的 CommandText 属性或 CommandStream 属性中指定的查询。

结果以 Recordset(默认)或二进制信息流的形式返回。 若要获取二进制流,请在 Options 中指定 adExecuteStream,然后通过设置 Command.Properties("Output Stream") 提供流。 可以指定 ADO Stream 对象来接收结果,也可以指定另一个流对象,例如 IIS 响应对象。 如果在使用 adExecuteStream 调用 Execute 之前未指定流,则会发生错误。 从 Execute 返回时的流位置是特定于提供程序的。

如果命令不用于返回结果(例如,SQL UPDATE 查询),则只要指定了选项 adExecuteNoRecords,提供程序就会返回 Nothing;否则 Execute 会返回一个已关闭的 Recordset。 某些应用程序语言允许忽略此返回值(如果不需要 Recordset)。

如果用户在 CommandType 为 adCmdStoredProc、adCmdTable 或 adCmdTableDirect 时为 CommandStream 指定一个值,则 Execute 将引发错误。

如果查询具有参数,则会使用 Command 对象的参数的当前值,除非你使用通过 Execute 调用传递的参数值替代这些值。 调用 Execute 方法时,可以通过省略某些参数的新值来替代参数的子集。 指定参数的顺序与该方法传递参数的顺序相同。 例如,如果有四个(或更多)参数,并且你只想为第一个和第四个参数传递新值,应将 Array(var1,,,var4) 作为 Parameters 参数传递。

注意

在 Parameters 参数中传递时,输出参数将不会返回正确的值。

此操作结束时,将引发 ExecuteComplete 事件。

注意

发出包含 URL 的命令时,使用 http 方案的命令将自动调用用于 Internet 发布的 Microsoft OLE DB 提供程序。 有关详细信息,请参阅绝对和相对 URL

应用于

命令对象 (ADO)

另请参阅

Execute、Requery 和 Clear 方法示例 (VB)
Execute、Requery 和 Clear 方法示例 (VBScript)
Execute、Requery 和 Clear 方法示例 (VC++)
CommandStream 属性 (ADO)
CommandText 属性 (ADO)
CommandTypeEnum
Execute 方法(ADO 连接)
ExecuteComplete 事件 (ADO)