Execute 方法 (ADO 命令)

執行在 Command 物件的 CommandTextCommandStream 屬性中指定的查詢、SQL 陳述式或預存程序。

語法

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

傳回值

傳回 Recordset 物件參考、串流或 Nothing

參數

RecordsAffected
選擇性。 Long 變數,提供者會將受作業影響的記錄數目傳回給此變數。 RecordsAffected 參數僅適用於動作查詢或預存程序。 RecordsAffected 不會傳回結果傳回查詢或預存程序所傳回的記錄數目。 若要取得這項資訊,請使用 RecordCount 屬性。 Execute 方法搭配 adAsyncExecute 使用時,不會傳回正確的資訊。原因很簡單,如果命令以非同步方式執行,當方法傳回時,可能還不知道受影響的記錄數目。

參數
選擇性。 參數值的 Variant 陣列,可搭配 CommandTextCommandStream 中指定的輸入字串或串流使用 (輸出參數在此引數中傳遞時,不會傳回正確的值)。

選項
選擇性。 Long 值,指出提供者應該如何評估 Command 物件的 CommandTextCommandStream 屬性。 可以是使用 CommandTypeEnum 和 (或) ExecuteOptionEnum 值建立的位元遮罩值。 例如,如果您想要讓 ADO 將 CommandText 屬性的值評估為文字,並指出命令應該捨棄且不傳回命令文字執行時可能產生的任何記錄,則可以搭配使用 adCmdTextadExecuteNoRecords

注意

使用 ExecuteOptionEnumadExecuteNoRecords 藉由將內部處理降到最低來改善效能。 如果指定 adExecuteStream,則會忽略 adAsyncFetchadAsynchFetchNonBlocking 選項。 請勿搭配 Execute 使用 adCmdFileadCmdTableDirectCommandTypeEnum 值。 這些值只能作為 RecordsetOpenRequery 方法的選項。

備註

Command 物件上使用 Execute 方法時,可執行在物件的 CommandText 屬性或 CommandStream 屬性中指定的查詢。

結果會在 Recordset 中傳回 (預設),或作為二進位資訊的串流傳回。 若要取得二進位串流,請在 Options 中指定 adExecuteStream,然後設定 Command.Properties("Output Stream") 來提供串流。 您可以指定 ADO Stream 物件來接收結果,也可以指定另一個串流物件 (例如 IIS Response 物件)。 如果在使用 adExecuteStream 呼叫 Execute 之前未指定任何串流,就會發生錯誤。 從 Execute 傳回的串流位置是提供者特定的。

如果命令預期不會傳回結果 (例如 SQL UPDATE 查詢),只要指定選項 adExecuteNoRecords,提供者就會傳回 Nothing;否則 Execute 會傳回已關閉的 Recordset。 如果不需要 Recordset,某些應用程式語言可讓您忽略此傳回值。

如果使用者指定 CommandStream 的值,當 CommandTypeadCmdStoredProcadCmdTableadCmdTableDirect 時,Execute 就會引發錯誤。

如果查詢具有參數,則會使用 Command 物件參數的目前值,除非您以使用 Execute 呼叫傳遞的參數值覆寫這些值。 您可以在呼叫 Execute 方法時省略某些參數的新值來覆寫參數的子集。 您指定參數的順序與方法傳遞這些參數的順序相同。 例如,如果有四個 (或更多) 參數,而且您想要只針對第一個和第四個參數傳遞新值,您會以 Parameters 引數的形式傳遞 Array(var1,,,var4)

注意

輸出參數在 Parameters 引數中傳遞時,不會傳回正確的值。

當此作業結束時,將會發出 ExecuteComplete 事件。

注意

發出包含 URL 的命令時,使用 HTTP 配置的命令會自動叫用 Microsoft OLE DB Provider for Internet Publishing。 如需詳細資訊,請參閱絕對和相對 URL

套用至

Command 物件 (ADO)

另請參閱

Execute、Requery 和 Clear 方法範例 (VB)
Execute、Requery 和 Clear 方法範例 (VBScript)
Execute、Requery 和 Clear 方法範例 (VC++)
CommandStream 屬性 (ADO)
CommandText 屬性 (ADO)
CommandTypeEnum
Execute 方法 (ADO Connection)
ExecuteComplete 事件 (ADO)