程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> SQL在Delphi數據庫程序設計應用淺談

SQL在Delphi數據庫程序設計應用淺談

編輯:Delphi
 

學習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組件(TtableTADOTable組件),這個數據庫連接組件負責連接數據庫文件中的表。我們要新增、刪除、編輯、取用數據的操作也都必須通過此組件的相關方法、屬性、事件,這裡我們只要連接上就行了,其他的無需關心。當連接組件連接數據庫文件中的表後,這個表的內容並無法連接組件直接交付給數據庫感知組件(如DBGrid)顯示出來,必須交由DataSource組件來解析表的內容,然後才將解析後的表的內容交付給數據庫感知組件(如DBGrid)顯示出來,也就是如上圖所示的。當然感知組件也有DBNavigator這些都可以通過解析後顯示數據,但具體的還要編寫程序語句來完成。

說到這裡我還是要繼續進入SQL操作,這是最重要的,我個人認為。SQLSelect是很重要的,大家一定要參考一些數據庫方面的書籍多看,最好是在上機的環境下調試。比如:改變字段名稱這也是很重要的,一般我們在做項目的時候,數據庫中的表的字段都是英文,但是在顯示的時候為了讓人們熟悉這就要以中文的形式顯示一下了。象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.

   以上是我學SQLDelphi的一些簡單的應用,供大家參考!

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved