Command 物件 (ADO)

定義您想要針對資料來源執行的特定命令。

備註

使用 Command 物件來查詢資料庫,並傳回 Recordset 物件中的記錄、執行大量作業,或運算元據庫的結構。 視提供者的功能而定,某些 命令 集合、方法或屬性可能會在參考時產生錯誤。

透過 Command 物件的集合、方法和屬性,您可以執行下列動作:

  • 例如,使用 CommandText 屬性定義命令的可執行文字 (SQL 語句) 。 或者,對於簡單 (字串以外的命令或查詢結構,例如,XML 範本查詢) 使用 CommandStream 屬性定義命令。

  • 選擇性地使用 Dialect 屬性,指出 CommandTextCommandStream 中使用的命令 方言

  • 使用 Parameter 物件和 Parameters 集合定義參數化查詢或預存程式引數。

  • 指出是否應該使用 NamedParameters 屬性將參數名稱傳遞至提供者。

  • 使用Execute方法,執行命令並傳回Recordset物件。

  • 在執行之前,使用 CommandType 屬性指定命令的類型,以將效能優化。

  • 使用 Prepared 屬性執行之前,控制提供者是否儲存備妥的 (或編譯) 版本的命令。

  • 設定提供者等候命令以 CommandTimeout 屬性執行的秒數。

  • 藉由設定其ActiveConnection屬性,將開啟的連接與Command物件產生關聯。

  • 設定 Name 屬性,將 Command 物件識別為相關聯 Connection 物件上的方法。

  • Command物件傳遞至RecordsetSource屬性以取得資料。

  • 使用 Properties 集合存取提供者特定的屬性。

注意

若要在不使用Command物件的情況下執行查詢,請將查詢字串傳遞至Connection物件的Execute方法或Recordset物件的Open方法。 不過,當您想要保存命令文字並重新執行命令文字,或使用查詢參數時,需要 Command 物件。

若要建立 先前定義的 Connection 物件無關的 Command 物件,請將它的 ActiveConnection 屬性設定為有效的連接字串。 ADO 仍會建立 Connection 物件,但不會將該物件指派給物件變數。 不過,如果您要將多個 Command 物件與相同的連接建立關聯,您應該明確建立並開啟 Connection 物件;這會將 Connection 物件指派給物件變數。 請確定在將Connection物件指派給Command物件的ActiveConnection屬性之前,已成功開啟 Connection 物件,因為指派關閉的Connection物件會造成錯誤。 如果您未將Command物件的ActiveConnection屬性設定為此物件變數,ADO 會為每個Command物件建立新的Connection物件,即使您使用相同的連接字串也一樣。

若要執行Command,請在相關聯的Connection物件上依其Name屬性呼叫它。 Command必須將其ActiveConnection屬性設定為Connection物件。 如果 Command 有參數,請將其值當做引數傳遞至 方法。

如果在相同的連接上執行兩個或多個 Command 物件,而且 Command 物件是具有輸出參數的預存程式,就會發生錯誤。 若要執行每個 Command 物件,請使用個別連接,或中斷連接所有其他 Command 物件的連線。

Parameters集合是Command物件的預設成員。 因此,下列兩個程式碼語句相等。

objCmd.Parameters.Item(0)  
objCmd(0)  
  • Command物件不適用於腳本。

本節包含下列主題。

另請參閱

Connection 物件 (ADO)
Parameters 集合 (ADO)
Properties 集合 (ADO)
附錄 A:提供者