【摘要】語言淺顯易懂、內(nèi)容深入淺出、循序漸進(jìn)是Delphi的最大特點(diǎn)。Delphi是可視化應(yīng)用編程開發(fā)環(huán)境、可重用性面象對象編程語言、快速編譯和數(shù)據(jù)庫的完美結(jié)合。本文主介紹Delphi和數(shù)據(jù)庫的結(jié)合。
【關(guān)鍵詞】Delphi;數(shù)據(jù)庫應(yīng)用程序;BDE;ADO;ODBC;SQL
【中圖號】TP31【文獻(xiàn)標(biāo)示碼】A【文章編號】1005-1074(2008)11-0222-01
Delphi具有功能強(qiáng)大、運(yùn)行速度快、易于學(xué)習(xí)和使用以及開發(fā)效率高等特點(diǎn)。在實(shí)現(xiàn)開發(fā)功能強(qiáng)大的應(yīng)用程序的同時,在開發(fā)Internet應(yīng)用程序、數(shù)據(jù)庫應(yīng)用程序及跨平臺的應(yīng)用程序等方面,實(shí)現(xiàn)了新的飛越,具有C++的強(qiáng)大功能,又具備Visual Basic簡明易學(xué)的特點(diǎn)。使用Delphi開發(fā)應(yīng)用程序可以達(dá)到事半功倍的效果。
1基于Delphi開發(fā)數(shù)據(jù)庫應(yīng)用程序的方法
①使用Delphi特有的數(shù)據(jù)庫引擎BDE(Borland Database Engine的縮寫);②使用標(biāo)準(zhǔn)數(shù)據(jù)庫接口ADO并使用ODBC(Open Database Connectivity,開放數(shù)據(jù)庫互連)開發(fā);③使用dbEXPRESS面板上的組件開發(fā)跨平臺的數(shù)據(jù)庫應(yīng)用程序;④開發(fā)Interbase數(shù)據(jù)庫應(yīng)用程序。
2使用BDE組件訪問數(shù)據(jù)庫
2.1BDE就是borland數(shù)據(jù)庫引擎的意思,是Delphi系列最傳統(tǒng)、最常用、也是最穩(wěn)定的數(shù)據(jù)庫訪問方式通過BDE,應(yīng)用程序不僅可以直接訪問本地?cái)?shù)據(jù)庫,如dBase、Paradox等,還可以訪問遠(yuǎn)程數(shù)據(jù)庫,如Interbase、SQLSever、Oracle等。并且BDE還支持通過ODBC開訪問數(shù)據(jù)庫,應(yīng)用程序通過使用BDE的數(shù)據(jù)集組件(如:Ttable)來對各種數(shù)據(jù)庫進(jìn)行操縱。要連接數(shù)據(jù)庫并且要訪問其中的數(shù)據(jù),一般按三步來實(shí)現(xiàn):①使用Tdatabase組件連接數(shù)據(jù)庫;②使用數(shù)據(jù)集組件Ttable(或TQuery)取得數(shù)據(jù)庫中的數(shù)據(jù);③通過數(shù)據(jù)源組件在感知組件中顯示數(shù)據(jù)。感知組件基本都在DataControls組件面板上。
2.2用BDE Administrator創(chuàng)建本地?cái)?shù)據(jù)庫的別名別名就是把表示某個數(shù)據(jù)庫位置的一連串很長的文件標(biāo)識符(包括主機(jī)、驅(qū)動器、路徑、文件名)進(jìn)行的一種映射,還包括如用戶口令等數(shù)據(jù)庫的配置信息。①打開BDE管理器,然后在configuration標(biāo)簽頁配置該數(shù)據(jù)庫的一些參數(shù);②在database標(biāo)簽頁通過New菜單建立一個新的數(shù)據(jù)庫別名,并設(shè)置必要的參數(shù);③在開發(fā)數(shù)據(jù)庫應(yīng)用程序時,就可以直接使用該BDE數(shù)據(jù)庫別名;④使用別名的好處在于是程序易于移植。一旦數(shù)據(jù)庫的別名確定,它就確定了數(shù)據(jù)庫所在的具體位置。如果沒有別名,則需要在程序中的每一處數(shù)據(jù)庫連接字符串中輸入數(shù)據(jù)庫文件標(biāo)識符,一旦數(shù)據(jù)庫移植到了另一臺計(jì)算機(jī)上,又要重新指定數(shù)據(jù)庫連接字符串。這樣不僅容易出錯,而且還非常的麻煩。而使用別名就非常的簡單,不容易出錯。
3使用標(biāo)準(zhǔn)數(shù)據(jù)庫接口ADO并使用ODBC開發(fā)數(shù)據(jù)庫
3.1要使用ADO面板的組件開發(fā)數(shù)據(jù)庫應(yīng)用程序,就必須在Windows控制面板的ODBC管理器中提前建立好使用的數(shù)據(jù)源,并選擇合適的數(shù)據(jù)庫然后可以在應(yīng)用程序中通過使用TADOConnection組件或其他ADO數(shù)據(jù)集組件的Connectionstring屬性來建立到數(shù)據(jù)庫的連接。通常需要以下五個步驟:①打開Windows控制面板,在ODBC管理器上面雙擊,則打開ODBC管理器;②選擇“系統(tǒng)DSN”標(biāo)簽頁,然后單擊“添加”按鈕,則會彈出一個驅(qū)動程序選擇窗口,從中選擇數(shù)據(jù)庫驅(qū)動程序,再單擊“完成”按鈕,則彈出數(shù)據(jù)源定義窗口;③在應(yīng)用程序中添加個TADOConnection組件,然后在該組件上雙擊或單擊ConnectionString屬性,或者在任意ADO數(shù)據(jù)集組件的ConnectionString屬性上單擊,則打開ADO連接字符串建立向?qū)В诘谝粋€窗口中單擊Build按鈕,則打開數(shù)據(jù)鏈接屬性設(shè)置面板;④通過ODBC連接到數(shù)據(jù)庫,則應(yīng)在“提供者”標(biāo)簽頁選擇Microsoft OLE DB Provider for ODBC Drivers選項(xiàng),單擊“下一步”按鈕,或者直接單擊“連接”標(biāo)簽頁,則會打開數(shù)據(jù)庫連接設(shè)置標(biāo)簽頁,在“指定數(shù)據(jù)源”選項(xiàng)中選擇“使用數(shù)據(jù)源名稱”,并在下拉框中選擇ODBC管理器中定義好的數(shù)據(jù)源;⑤單擊“測試連接”按鈕,如果顯示“測試連接成功”的對話框,則表示可以建立數(shù)據(jù)庫的連接;否則表示無法連接到數(shù)據(jù)庫,此時應(yīng)檢查出現(xiàn)該問題的原因⑥單擊“確定”按鈕,表示數(shù)據(jù)庫連接建立完畢,以后就可以在應(yīng)用程序中應(yīng)用。
3.2建立一個完整的ADO數(shù)據(jù)庫應(yīng)用程序通常需要以下五個步驟:①連接ADO數(shù)據(jù)庫。通常使用TADOConnection組件建立與ADO的數(shù)據(jù)連接。上面介紹過,我們也可以直接使用數(shù)據(jù)集組件或TADOcommand組件的ConnectionString屬性直接與后端的數(shù)據(jù)庫建立連接;②創(chuàng)建SQL(結(jié)果化查詢語句),一般使用TADODataSet組件的CommandType和CommandText屬性來對數(shù)據(jù)庫進(jìn)行訪問。同樣我們也可以使用TADOTable、TADOQuery和TADOStoredProc組件來訪問數(shù)據(jù)庫,但這三個組件所能實(shí)現(xiàn)的功能完全可以使用TADODataset代替。通常使用TADOCommand組件的CommandText屬性來指定一條返回結(jié)果的SQL語句或存儲過程;③執(zhí)行SQL語句,執(zhí)行SQL語句的方式有好幾種,可以調(diào)用TADOConnection或TADOCommand組件的Execute方法直接執(zhí)行SQL語句,可以使用數(shù)據(jù)集組件的Open方法執(zhí)行返回結(jié)果的數(shù)據(jù)集,當(dāng)要執(zhí)行的SQL語句沒有返回結(jié)果時,就調(diào)用TADOStoredproc的Execproc,或其他數(shù)據(jù)集組件的ExecSQL方法;④使用數(shù)據(jù)集組件對SQL語句返回的數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行操作;⑤對操作后的數(shù)據(jù)進(jìn)行更新。
4使用dbEXPRESS面板上的組件開發(fā)跨平臺的數(shù)據(jù)庫應(yīng)用程序
dbExpress是專門用來對付MYSQL,DB2,INTERBASE,ORACLE等數(shù)據(jù)庫的,是一新組件、技術(shù)和驅(qū)動程序的集合。它為其所支持的每個數(shù)據(jù)庫都提供一個驅(qū)動,使得特定的服務(wù)器軟件能夠適應(yīng)統(tǒng)一的dbExpress接口。通過該接口就可以建立應(yīng)用程序到后端數(shù)據(jù)庫的連接。另外,dbExpress已經(jīng)實(shí)現(xiàn)了跨平臺使用,能夠同時運(yùn)行于windows、Linux平臺以及.net平臺,隨著數(shù)據(jù)處理能力的不斷增強(qiáng),dbExpress必將成為Delphi核心的數(shù)據(jù)訪問技術(shù)。使用dbExpress進(jìn)行數(shù)據(jù)庫開發(fā)要經(jīng)過四個步驟:①與數(shù)據(jù)庫建立連接,通常由TSQLConnection組件來完成此項(xiàng)工作;②使用數(shù)據(jù)集訪問數(shù)據(jù),根據(jù)自己的選擇,可以使用TSQLDataSet、TSQLQery、TSQLStoredProc、TSQLTable和TsimpleDataSet組件;③建立數(shù)據(jù)源與數(shù)據(jù)集之間的連接,使用DataSource組件;④在數(shù)據(jù)感知組件中顯示數(shù)據(jù),可以使用Delphi提供的各種數(shù)據(jù)感知組件,如在Data Controls組件面板上的DBGrid、DBMemo、DBEdit、DBImage等。
5開發(fā)Interbase數(shù)據(jù)庫應(yīng)用程序
①通過Delphi 7的工作組打開BDE管理器;②在Configuration標(biāo)簽頁,單擊下面的Configuration打開Drives(驅(qū)動程序),再打開Native,選擇其下面的INTRBASE,然后在右邊的Definition面板的SERVER NAME參數(shù)的編輯框中輸入INTERBASE數(shù)據(jù)庫的名字,包括完整的路徑;③在INTRBASE上面右擊,并選擇Apply菜單,則可以修改的內(nèi)容保存到BDE管理器中,這樣一個InterBase數(shù)據(jù)庫就配置好了;④要真正使用該數(shù)據(jù)庫,還需要建立該數(shù)據(jù)庫的別名。首先打開Databases標(biāo)簽頁,在下面的Databases上面右擊,從彈出的快捷菜單中選擇New,則會彈出建立新數(shù)據(jù)庫別名窗口,從下拉框中選擇INTRBASE,然后單擊OK按鈕,則會在該標(biāo)簽頁添加一個名字為INTRBASE1的InterBase數(shù)據(jù)庫別名。使用Apply菜單貨按鈕保存修改的成果。這樣,在BDE數(shù)據(jù)庫應(yīng)用程序中就可以直接使用數(shù)據(jù)庫別名開發(fā)InterBase數(shù)據(jù)庫應(yīng)用程序。
Delphi是一種全新的可視化編程環(huán)境,一種方便、快捷的Windows應(yīng)用程序開發(fā)工具。它使用了Microsoft Windows圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο蟪绦蛘Z言,是當(dāng)今世界上最快的編輯器、最為領(lǐng)先的數(shù)據(jù)庫技術(shù)。使用Delphi開發(fā)應(yīng)用軟件,無疑會大大提高編程效率,隨著應(yīng)用的深入,將會發(fā)現(xiàn)Delphi的每個設(shè)計(jì)細(xì)節(jié)都帶來了一份欣喜。
6參考文獻(xiàn)
1劉瑞河.Delphi簡明教程[M].北京:清華大學(xué)出版社,2005
2王林瑋.Delphi7數(shù)據(jù)庫工程實(shí)用編程技術(shù)[M].北京:電子工業(yè)出版社,2006
3宋一兵.Delphi7基礎(chǔ)教程[M].北京:機(jī)械工業(yè)出版社,2005