一、command對象的主要屬性和方法
為了進一步闡述Command對象的數據查詢功能,有必要先介紹一下Command對象的與數據查詢密切相關的一些屬性和方法。
屬性:
(1)CommandText:指定數據查詢信息。可以是SQL語句、存儲過程。
(2)CommandType:指定數據查詢的類型。可以取四種設定值。
(3)ActiveConnection:建立與Connection通道的鏈接關系。
方法:
(1)Createparameter:建立一個新的參數對象。
(2)Execute:對數據庫提出數據查詢。Command對象可以用Createparameter方法建立新的參數對象,再用parameters對象的append方法將新的參數對象增加到parameters數據集合裡。執行結果是:建立一個參數名為合同編號,數據類型為字符型,長度為10,參數允許的讀寫模式為輸入,參數值為“1000030005”的參數對象,然後將此參數加入parameters數據集合。
Command對象是用Execute方法執行數據庫查詢的,Execute方法允許傳入指定的參數,從而達到動態數據查詢。
二、用command對象實現動態數據查詢的幾種方法
用command對象實現動態數據查詢首先要求commandtext屬性值必須是一個帶有參數的SQL指令或者是帶有參數的存儲過程,這裡所指的參數必須是查詢信息中允許傳入值的部分。再者就是調用帶有參數值數組的execute方法(格式三)或者是將參數值存放到command對象的parameters數據集合裡,再調用Command對象的execute方法。
Command對象可以擁有多個parameter子對象來存儲相關的參數,它們都屬於parameters數據集合。用如下方法可以將參數值寫入parameters數據集合。
假設已經存在一個SQL Server數據庫bcdata,其中有一個數據表為gcht,數據字段有3個,分別是gchtbh(工程合同編號)、gcmc(合同名稱)、htje(合同金額)。用command對象查詢1999年度和2000年度的工程合同簡況。
(1)調用parameters的refresh方法,得到符合commandtext屬性的所有parameter子對象,再將已知的參數值存放到對應的子對象中即可。
(2)調用command對象的createparameter方法,建立一個新的parameter對象,並依附在command對象內的parameters數據集合內。然後調用parameters數據集合的append方法加入新的parameter子對象至數據集合內。
結束語
ADO的connection對象是用execute方法提交數據查詢信息,recordset對象是用open方法提交數據查詢信息,雖然它們提交的數據查詢信息可以包含變量但畢竟不是真正意義上的參數傳遞,另外在組合帶有變量的SQL指令時還容易出錯,最重要的是它們不支持提交的數據查詢信息中含有備注型的字段。不論是參數型數據查詢信息還是存儲過程,command對象的地位都是十分重要的,只要command對象運用得好,對整體數據庫網頁的設計會增加不少的靈活性和方便性。