17.2.2 在TQuery部件中編寫簡單的SQL查詢命令
在這一節(jié)里我們將學習如何使用TQuery部件編寫簡單的SQL查詢命令,并在Delphi 應用程序中實現(xiàn)SQL查詢。
例如,如果我們想查詢出表Customer.DB中客戶的編號和公司名稱,我們按下列步驟來實現(xiàn):
、僭趹么绑w中放置一個TQuery部件、一個TDataSource部件一個TDataGrid部件,并將它們連接起來
、谠O置窗體TQuery 部件Query1的DatabaseName屬性值為DBDEMOS
、垭p擊Object Inspector窗口中Query1的SQL 屬性, Delphi 將顯示 String List Editor窗口。
、茉趫D17.3中的窗口中輸入SQL語句:
Select CustNo,Company From Custormer;
、輪螕鬙K按鈕,關閉String List Editor窗口。
⑥設置Query的Open屬性為True。
17.3 SQL語言編程概述
在Delphi應用程序中的SQL命令語句是包含在TQuery部件的SQL屬性中,TQuery部件的SQL屬性是TString類型的,也就是說SQL屬性值是一個字符串列表,這個字符串列表非常類似于一個字符串類型的數(shù)組,有關TString類型的信息請參看聯(lián)機幫助。在前一節(jié)里我們介紹了TQuery部件可以執(zhí)行兩種SQL語句:
● 靜態(tài)SQL語句
● 動態(tài)SQL語句
靜態(tài)SQL語句在程序設計時便已固定下來,它不包含任何參數(shù)和變量,例如下面的語句便是一條靜態(tài)SQL語句:
Select * From Cusromer Where CustNo = 1234;
而動態(tài)SQL語句,也被稱作參數(shù)化的語句,在其中間包含著表示字段名或表名的參數(shù),例如下面的語句是一條動態(tài)SQL語句:
Select * From Customer Where CustNo =: Number;
其中的變量Number便是一個參數(shù)變量,它由一個冒號引導,在程序運行過程中,必須要為該參數(shù)賦值,該條SQL語句才能正確執(zhí)行,每次運行應用程序時可以為該參數(shù)變量賦予不同的值。
17.3.1 SQL命令文本的編寫
1. 使用String List Editor編寫
我們要為TQuery部件的SQL屬性設置SQL命令文本時,可以在應用窗體中選擇TQuery部件且雙擊Object Inspector窗口中的SQL屬性,這樣便打開了String List Editor 窗口,在該窗口中我們便可以編寫各種SQL命令,如圖17.3所示。
在編寫完適當?shù)腟QL語句之后,選擇 OK 按鈕便可以將編輯器中的 SQL 命令文裝入到TQuery部件的SQL屬性中,選擇SAVE按鈕可以將編寫好的SQL命令保存到一個文件中供以后編程時使用。我們在編寫SQL命令文本時還可以選擇Load按鈕從一個 SQL 命令文件中調入SQL命令。在程序運行過程中,要想設置TQuery部件的SQL屬性,必須首先調用Close方法,關閉TQuery部件,然后再調用Clear方法清除SQL屬性中現(xiàn)存的SQL命令語句,最后再調用Add方法為SQL屬性設置新的SQL命令語句。例如:
Query1.Close {關閉Query1)
Query1.SQL.Clear {清除SQL屬性中的SQL命令語句}
Query1.SQL.Add('Select * From Country');
Query1.SQL.Add('Where Name ="ARGENTINA" ');
在為TQuery部件設置SQL屬性時調用Close方法總是很安全的,如果TQuery部件已經被關閉了,調用Close方法時不會產生任何影響。在應用程序中為SQL屬性設置新的SQL 命令語句時,必須要調用Clear方法以清除SQL屬性中現(xiàn)存的SQL命令語句,如果不調用Clear方法,便調用Add方法向SQL屬性中設置SQL命令語句,那么新設置的SQL命令語句會追加在現(xiàn)存SQL命令語句后面,在程序運行時常常會出現(xiàn)出乎意料的查詢結果甚至程序無法運行下去。
在這里要特別注意的,一般情況下TQuery部件的SQL屬性只能包含一條完整的SQL語句,它不允許被設置成多條SQL語句。當然有些數(shù)據(jù)庫服務器也支持在TQuery部件的SQL屬性中設置多條SQL語句,只要數(shù)據(jù)庫服務器允許這樣,我們在編程時可以為 SQL 屬性設置多條SQL語句。
2. 使用Visual Query Builder編寫
客戶/服務器版本的Delphi還包含一個可視化的查詢構造器Visual Query Builder ,用這個可視化的工具我們只能編寫Select語句。在應用程序窗體中選擇TQuery部件后,單擊鼠標右鍵,彈出一個彈出式菜單,從中選擇Run Visual Query Builder后便會彈出一對話框提示你選擇要訪問的數(shù)據(jù)庫,選擇想要訪問的數(shù)據(jù)庫之后選擇OK按鈕,緊接著會出現(xiàn)一個彈出式對話框提示你選擇要查詢的數(shù)據(jù)庫表,一次可以選擇多個數(shù)據(jù)庫表,若要選擇多個數(shù)據(jù)庫表,每選擇一個表之后單擊Add按鈕,接著選擇另一個表,選擇完要查詢的表之后單擊Close按鈕,這樣,可視化的查詢構造器中將會顯示出用戶選擇的數(shù)據(jù)庫表。
有關如何使用可視化的查詢構造器Visual Query Builder 請參看聯(lián)機幫助信息, 在Visual Query Builder中構造完一個查詢并退出Visual Query Builder時,其中的SQL 命令語句會自動地寫入相應的TQuery部件的SQL屬性。
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |