Command對象
Command對象的主要目的是執行參數化的預存程序。其形式要麼是臨時準備(prepared),要麼是持久的先行編譯(precompiled)過的SQL語句。如果想(儲存)一個或多個查詢以供在同一Connection上多次執行,Command對象也是很有用的。當想建立Recordset時,一種高效的方法是繞過Command對象而採用Recordset.Open方法。
屬性
屬性名稱 資料類型和用途
ActiveConnection 指標類型,指向Command所關聯的Connection對象。對於現存的已開啟串連,可使用Set cmmName.ActiveConnection=cnnName。另外,也可以不用相關Connection對象名稱而使用有效連接字串去建立一個新的串連。預設值為Null。
CommandText 可讀寫String類型。為ActiveConnection指定一條SQL語句、表名、預存程序名或提供者能接受的任一字元串。CommandType屬性的值決定了CommandText屬性值的格式。預設值為空白字串:""
CommandTimeout 可讀寫Long類型,指定中止一個Command.Execute調用之前必須等待的時間。這時的值優先於Connection.ComandTimeout中的設定值。預設值為30秒。
CommandType 可讀寫Long類型,指定資料提供者該如何解釋CommandText屬性值。CommandType等效於Connection.Execute方法中的選擇性參數lngOption。詳見CommandType所用到的常數。預設值為adCmdUnkown.
Name 可讀寫String類型,指定Command的名稱。
Prepared 可讀寫Boolean類型,判斷資料來源是否把CommandText中的SQL語句編譯為prepared statement(一種臨時性預存程序)。prepared statement僅存活於Command的ActiveConnection生命週期中。許多客戶/伺服器RDBMS,包括SQL SERVER,都支援prepared statement。如果資料來源不支援prepared statement,則把該屬性設為True,將導致一個自陷錯誤。
State 可讀寫Long類型,指定Commnad狀態。見State常數。
注意:最好每次都為CommandType指定的一個合適的常數值,否則會降低系統啟動並執行效率。
方法
方法 用途
Createparameter 在執行該方法之前,必須首先聲明一個ADODB.Parameter對象。調用文法為:
cmmName.CreateParameter [strName[,lngType[,lngDirection[,lngSize[,varValue]]]]]
Execute 調用文法同Connection.Execute大致相同。
常數
State常數
常數 含義
adStateClosed Connection(或其他對象)是關閉的(預設值)
adStateConnecting 正在串連資料來源的狀態
adStateExecuting Connection或Command對象的Execute方法已被調用
adStateFetching 返回行(row)到Recordset對象
adStateOpen Connection(或其他對象)是開啟的(活動的)
CommandType所用到的常數
Command類型常數 含義
adCmdUnknown Command類型未定(預設值),由資料提供者去判別Command文法
adCmdFile Command是和物件類型相應的檔案名稱
adCmdStoredProc Command是預存程序名稱
adCmdTable Command是能產生內部SELECT * FROM TableName查詢的表名稱
adCmdTableDirect Command是能直接從表中擷取行內容的表名稱
adCmdText Command是一條SQL語句