Command 物件 (ADO)
定義您要針對資料源執行的特定命令。
言論
使用 Command 物件來查詢資料庫,並傳回記錄 Recordset 對象、執行大量作業,或操作資料庫的結構。 根據提供者的功能,某些 Command 集合、方法或屬性可能會在參考時產生錯誤。
使用 Command 物件的集合、方法和屬性,您可以執行下列動作:
使用 CommandText 屬性定義命令的可執行文字(例如 SQL 語句)。 或者,對於簡單字串以外的命令或查詢結構,請使用 CommandStream 屬性來定義命令。
或者,使用 Dialect 屬性,指出 CommandText 或 CommandStream 中使用的命令方言。
使用 Parameter 物件和 Parameters 集合定義參數化查詢或預存程式自變數。
指出是否應該使用 NamedParameters 屬性,將參數名稱傳遞至提供者。
執行命令並傳回 Recordset 物件,如果適當的話,請使用 execute 方法。
在執行之前,使用 CommandType 屬性來指定命令類型,以將效能優化。
使用 Prepared 屬性執行之前,控制提供者是否儲存已備妥的命令(或已編譯)版本。
設定提供者會等候命令使用 commandTimeout 屬性執行 秒數。
藉由設定其 ActiveConnection 屬性,將開啟的連接與 Command 物件產生關聯。
設定 Name 屬性,將 Command 物件識別為相關聯 Connection 物件上的方法。
將 Command 對象傳遞至 Recordset 的 Source 屬性,以取得數據。
使用 Properties 集合存取提供者特定的屬性。
注意
若要執行查詢而不使用 Command 物件,請將查詢字串傳遞至 Connection 物件的 Execute 方法,或傳遞至 Recordset 物件的 Open 方法。 不過,當您想要保存命令文字並重新執行命令,或使用查詢參數時,需要 Command 物件。
若要建立與先前定義 Connection 對象無關的 Command 物件,請將其 ActiveConnection 屬性設定為有效的連接字符串。 ADO 仍然會建立 Connection 物件,但不會將該物件指派給物件變數。 不過,如果您要將多個 Command 物件與相同的連接產生關聯,您應該明確建立並開啟 Connection 物件;這會將 Connection 物件指派給物件變數。 請確定 Connection 物件已順利開啟,然後才將它指派給 Command 物件的 ActiveConnection 屬性,因為指派關閉 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:提供者