學習Delphi有一個星期了,Delphi是Pascal的派生,可是說學過pascal到學起來很容易,當然我學過VB(visual basic),當然相對來說比較熟悉這門語言,可是時間長了不學也忘記了好多,但是學習Delphi上手快多了,尤其是我現在學的這本書是關於Delphi數據庫設計,學習的過程中好多當年學VB時候那些捆綁數據庫控件比如:ADO等都浮現在腦海中,所以學起來很輕松,但是設計到應用程序和語法還有待於進一步學習。
現在想談談學習SQL命令與ADOquery組件,SQL的Select語句以及動態執行SQL語句命令,這裡SQL(Structrue Query Language),是一種結構化查詢語言,對我來說有這方面的基礎,運用起來比較快。當然注意的是這裡是通過ADOquery組件屬性中ConnectiongString連接到相應的數據庫的,在窗體中加入了三個組件:ADOquery、DataSource、DBGrid,當你拖一個DataSource組件時,它的名稱是DataSource1把它的屬性DataSet設置為ADOquery1;DBGrid1的屬性DataSource設置為DataSource1,說到這裡使我想起來程序組件與數據庫之間的關系,也就是說為什麼要拖這些組件,它們之間有什麼樣的一個解析關系呢?如下圖所示
Table/ADOTable DataSource DBGrid.......
連接組件------------->解析組件----------->感知組件
組件間的關系
說明一下:數據庫程序設計裡最重要的關鍵組件就是與數據庫連接的Table組件(Ttable或TADOTable組件),這個數據庫連接組件負責連接數據庫文件中的表。我們要新增、刪除、編輯、取用數據的操作也都必須通過此組件的相關方法、屬性、事件,這裡我們只要連接上就行了,其他的無需關心。當連接組件連接數據庫文件中的表後,這個表的內容並無法連接組件直接交付給數據庫感知組件(如DBGrid)顯示出來,必須交由DataSource組件來解析表的內容,然後才將解析後的表的內容交付給數據庫感知組件(如DBGrid)顯示出來,也就是如上圖所示的。當然感知組件也有DBNavigator這些都可以通過解析後顯示數據,但具體的還要編寫程序語句來完成。
說到這裡我還是要繼續進入SQL操作,這是最重要的,我個人認為。SQL的Select是很重要的,大家一定要參考一些數據庫方面的書籍多看,最好是在上機的環境下調試。比如:改變字段名稱這也是很重要的,一般我們在做項目的時候,數據庫中的表的字段都是英文,但是在顯示的時候為了讓人們熟悉這就要以中文的形式顯示一下了。象order by排序,Where條件篩選等都要很熟悉這些基本的操作。
接下來是動態執行SQL命令,這在實際中也是很重要的,比如說:一般我們會用ComboBox組件執行的時候來選擇所需的字段,如某表中的姓名,選中後感知組件就會顯示你指定的姓名,這不是變的很方便了嗎?當然在實際中也是必須的。動態就這樣產生了!在此提供在ComboBox組件的OnChange事件程序中的代碼:
procedure TForm1.ComboBox1Change(Sender: TObject);
//申明裝載sql命令的字符串變量
var
mysql:string;
begin
//建立基本的SQL命令內容
mysql:='select * from 成績單 order by ';
//取消數據庫的連接
adoquery1.Close;或adoquery1.Active:=false;
//清除原本的sql命令
adoquery1.SQL.Clear;
//串接新的SQL命令
adoquery1.sql.Add(mysql+combobox1.Text);
//重新建立數據庫連接
adoquery1.Open;
//將目前使用的SQL命令內容顯示在標題欄中
caption:=adoquery1.SQL.Text;
//指定新的sql命令
//adoquery1.SQL.Add(combobox1.Text);
//以新的sql 命令連接數據庫
adoquery1.Active:=true;
end;
end.
以上是我學SQL在Delphi的一些簡單的應用,供大家參考!