在編寫資料庫系統的時候,少不了使用 ADODataSet 這個組件。在表不多的情況下,我們可以為每個表建立一個 ADODataSet,
然後通過 DBGrid 等資料顯示組件來操作她。
但是,如果表的數量很多,比如多達幾十個表的時候,特別是表的數量動態變化的時候,我們就不太適合為每個表建立對應的 ADODataSet 了。
這時,通過 ADODataSet 的複用,可以使問題大大簡化,減少大量的笨拙的代碼,使程式清晰而優美。甚至使一些無法編程的問題得到完美解決。
具體做法:只在表單上拖放一個 ADODataSet 組件,然後在串連不同的表的事件中,使用以下類似代碼即可:
ADODataSet1.Close;
ADODataSet1.CommandText := 'Select * from <不同的表名>';
ADODataSet1.Parameters.Clear;
ADODataSet1.Parameters.ParseSQL(ADODataSet.CommandText, true);
ADODataSet1.Open;
以上代碼中,語句 ADODataSet1.Parameters.ParseSQL(ADODataSet.CommandText, true) 是關鍵代碼。通過 ParseSQL 方法解構 ADODataSet.CommandText 的 SQL 陳述式,建立 ADODataSet1 新的對象參數,從而使新的查詢生效。
附:Delphi 文檔中對 ParseSQL 方法的描述:
ParseSQL method (TParameters):
Parses an SQL statement for parameters and TParameter objects.
Delphi syntax:
function ParseSQL(SQL: String; DoCreate: Boolean): String;
Description
Call ParseSQL to parse an SQL statement for parameters. For each parameter found in the SQL statement, a TParameter object is added to the calling TParameters object using the name of the parameter in the SQL statement.
SQL contains the SQL statement to parse.
DoCreate indicates whether to clear all existing parameter definitions before parsing the SQL statement.
ParseSQL returns a parsed version of the SQL statement specified in the SQL parameter.
ADOQuery1.Parameters.ParseSQL(ADOQuery1.Text, True);
“十萬個為什麼”電腦學習網原創文檔
轉載請註明出處:http://www.why100000.com