後一頁
前一頁
回目錄
回首頁
第十三章 Delphi開發資料庫應用程式概述(二)

13.3.2 數據控制部件 

        數據控制部件頁上的部件,主要用於設計用戶介面,對資料庫中的數據進行瀏覽、編輯、插入、解除等操作。因而數據控制部件常常又被稱為數據瀏覽部件,數據控制部件其實是在Standard頁上的標準部件的基礎上,相應地增加了數據瀏覽功能,使得它們能夠顯示和編輯資料庫中數據資訊。 

        數據控制部件既能夠把資料庫中的數據顯示到窗體中,又可以將其自身的經過修改的數據寫回到資料庫中。下表列出了數據控制頁上的數據控制部件及它們的主要用途。 

表13.5 數據控制部件

───────────────────────────────

部件標簽   主 要 用 途

———————————————————————————————

 使用該部件可以向前向後移動記錄指標,可以使

TDBNavigator  用該部件對單條記錄進行編輯,還可以用它來插

 入、解除記錄以及刷新顯示和取消前一次的操作

———————————————————————————————

 它是顯示資料庫中的數據的文字方塊,它只能顯示

TDBText  資料庫表目前記錄的欄位值,用戶不能對其中的

 數據進行修改。

———————————————————————————————

 它是顯示和編輯資料庫表中的數據的編輯框,它

TDBEdit  既可以顯示又可以編輯資料庫表中目前記錄的字

 段值。

———————————————————————————————

TDBCheckBox  它是瀏覽資料庫中的數據的檢查框,它可以用來

 顯示和編輯資料庫中的布爾型欄位的欄位值。

———————————————————————————————

TDBListBox  它是瀏覽資料庫中的數據的列示方塊,它可以用一

 個列示方塊來顯示資料庫表中一個欄位的值。

———————————————————————————————

TDBComboBox  它是瀏覽資料庫中的數據的群群組合框,它可以用一

 個群群組合框來顯示資料庫表中一個欄位的值。

———————————————————————————————

TDBRadioGroup  它是瀏覽資料庫表中的數據的單選鈕,用一群群組單

 選鈕可以確定顯示資料庫表中哪一個欄位。

———————————————————————————————

TDBGrid  它是瀏覽資料庫中的數據的網格,以網格的方式

 顯示資料庫中的數據,在網格中還可以對資料庫

 中的數據進行編輯。利用Fields Editor可以對

 資料庫表中欄位的顯示格式、顯示順序、是否顯

 示等進行控制。

———————————————————————————————

TDBMemo  它主要用於瀏覽資料庫中備註型的欄位,它可以

 用來顯示資料庫表中目前記錄中的BLOB型欄位。

———————————————————————————————

TDBImage  它是瀏覽資料庫中的數據的圖像框,它可以用於

 顯示、拷貝、貼上去據庫表中圖像型式的欄位。

———————————————————————————————

TDBLookUpList  它是瀏覽資料庫表中的數據的列示方塊,在基於一

 個資料庫表的應用中,用它可以顯示另一個數據

 庫表中一個指定的欄位值。

———————————————————————————————

TDBLookUpCombo 它是瀏覽資料庫表中的數據的群群組合框,在基於一

 個資料庫表的應用中,用它可以顯示另一個數據

 庫表中一個指定的欄位值。

───────────────────────────────

        數據控制部件為開發Delphi資料庫應用程式提供可視化的用戶介面,不管應用程式是存取本地資料庫中的數據文件,還是存取遠端資料庫伺服器中的數據文件,用戶介面都是一致的,即資料庫的物理位置對數據控制部件是透明的。

13.3.3 資料庫窗體專家和資料庫操作台(DBD) 

        Delphi為用戶開發簡單的資料庫應用程式提供了一個開發工具叫做“資料庫窗體專家”(Database Form Expert),在Delphi系統選擇表Tool選擇表下可以找到。

        資料庫窗體專家能夠自動產生簡單的資料庫應用程式中所必須完成的許多工,它還可以產生基於單個資料庫表的應用程式窗體或基於主要——明細型多個資料庫表的應用程式窗體,資料庫窗體專家能夠自動完成的任務如下:

● 放置資料庫部件到窗體中(TDataSource部件)

● 為數據集部件(TTable、TQuery)和磁碟上的資料庫建立連接

● 建立數據源(TDataSource)與數據控制部件的連接,數據源(TDataSource) 與 數據存取部件(TTable、TQuery)的連接

● 為TQuery部件編寫SQL語句

● 為窗體中的部件定義Tab順序

        資料庫操作台(DBD)是資料庫維護和數據定義工具,程式設計人員利用它可以查詢、連接、建立、重構、索引、修改和拷貝資料庫表,包括Pà??/font>aradoxdBASE文件和基於 SQL語言的資料庫表。而且在使用DBD操作ParadoxdBASE的表時,用戶不必擁有 Paradox dBASE資料庫管理系統。DBD還可以把一種格式的數據和數據字典拷貝成另一種格式,例如,你可以將一個dBASE的表拷貝到遠端的SQL伺服器上的一個資料庫中去。有關DBD詳細描述,請參看資料庫操作台(DBD)的使用。  

13.4 Delphi資料庫應用程式的開發方法和步驟 

13.4.1 概述 

        Derphi用開資料庫應用程式,雖然與開發其他應用程式有相似之處,但是也有一些重要的區別,我們必須要加以注意。

        利用Delphi的用戶/伺服器功能, 程式設計者可以在本地資料庫上或遠端資料庫伺服器上開發用戶/伺服器模式的應用程式。Delphi 的一個強有力的功能之一是可以將基於本地桌面資料庫系統的應用程式很容易地修改成用戶/伺服器模式的應用。一個Delphi 資料庫應用程式存取的是本地資料庫還是遠端SQL資料庫伺服器上的資料庫, 這對於最終用戶是完全透明的。即資料庫的物理位置對最終用戶是透明的,當資料庫的物理位置發生變化時,用戶介面不必隨之變化。

        因為資料庫應用程式的是依賴於它所存取的資料庫的,所以在開發資料庫應用程式之前必須要建立一個完善的資料庫即數據定義,數據定義應當是開發資料庫應用程式的一部分,但它超出了書本的範圍,有關數據定義的內容,請參看關係資料庫設計方面的資料。在我們用Derphi開發一個資料庫應用程式時,可能有下列四種情況。

1、資料庫不存在或者必須要重新定義。使用DBD為本地資料庫定義ParadoxdBASE 資料庫表。使用Delphi提供的伺服器開發工具如Windows ISQLDBD定義本地或遠端SQL資料庫務器上的資料庫。

2、資料庫在桌面資料庫系統中或區欄位網路上(如ParadoxdBASE),而且BDE、數據 庫和應用程式在同一台機器上,這是典型的獨立應用。

3、資料庫在桌面資料庫系統中,但是用戶要把它改變到SQL資料庫伺服器中去,這 種情況我們在附錄C中詳細討論。

4、資料庫在SQL資料庫伺服器中,而且應用程式將到SQL資料庫伺服器中去存取數據 庫,這是一個標準的用戶/伺服器應用。

有關開發用戶/伺服器應用程式的詳細內容,參看用戶/伺服器應用一章。

13.4.2 資料庫應用程式的開發步驟 

        資料庫應用程式的最終目標就是為用戶提供一個滿足其長期需要的軟體產品,因此,成功地開發一個資料庫應用程式的關鍵之一是要詳細地定義用戶的需求,然後再圍繞用戶的需求進行開發,資料庫應用程式的一般開發的三個基本步驟如下。

系統設計

系統實現

系統執行和維護

        在這個三個基本步驟中,都包含著資料庫的開發和應用程式介面的開發兩大類任務,對於一個用戶/伺服器模式的應用,資料庫和應用介面的區別就更明顯一些, 因為它們執行在不同的基台之上,而且使用的作業系統都常常不一樣,如(一個Unix環境的伺服器和Windows環境的用戶機)。

1、系統設計

系統設計階段應當根據用戶的需求,明確地描述資料庫(資料庫伺服器端)和應用介面(用戶機端)實現的功能,即決定哪些功能由伺服器端實現,哪些功能由用戶機端實現,對於用戶/伺服器應用程式,許多功能既可以在伺服器端實現又可以在用戶端實現的, 例如一個複雜的數學變換功能既可以由用戶端的應用程式實現,也可以由伺服器端的存貯過程實現。伺服器和用戶端應用程式功能的劃分往往取決於應用程式執行的硬體環境,例如:如果用戶端是低檔的PC機,伺服器端是高檔的工作站,那麼大量的計算由伺服器完成是比較理想的。

2、系統實現

系統實現階段的主要任務是使用Delphi提供的工具和部件以及Pascal語言實現系統設計階段的設想,並進行偵錯。

在系統實現階段,最好使用資料庫的一個備份資料庫,這個備份的資料庫與原資料庫具有相同的結構,但其中的資料庫只是原資料庫中的一部分,至所以不在原資料庫上開發應用程式,是因為考慮到沒有偵錯好的應用程式可能會破壞資料庫中的數據或者妨礙資料庫的正常操作。

如果應用程式是基於遠端SQL資料庫伺服器的,在系統實現階段可以採用兩種方法:

在本地InterBase伺服器上,使用資料庫的備份資料庫進行開發和偵錯

在遠端伺服器上,使用資料庫的備份資料庫進行開發和偵錯 

        第一種方法優越性在於,它是獨立於伺服器的,而不至於影響伺服器的其它的操作,而且不消耗伺服器的資源不增加網路的負擔。它的不利的方面是開發出來的應用程式只能在標準的SQL伺服器上使用和偵錯。 第二種方法能夠使程式設計人員直接感覺到伺服器的特性,但它在偵錯階段要消耗網路和伺服器的資源,這種方法具有一定的危險性,程式中的錯誤可能會導致伺服器的癱瘓。

3、系統執行和維護

一個應用系統性能的優劣,效率的高低始終應當由用戶來做出判決,應用程式在執行過程中,用戶會提出一些新的需求和建議,根據用戶需求的變化,應當對應用程式做一定的修改,使其進一步地得到完善和提高。 

13.4.3 交付資料庫應用程式 

        交付資料庫應用程式意味著將它交付給最終用戶,並且提供應用程式執行所需的軟體,非資料庫應用程式往往只需要一個EXE文件,而資料庫應用程式要包括下列幾類文件:

資料庫應用程式產生的EXE文件和DLL文件(如果有的話)

必要的輔助文件(如Readme文件或HLP連線輔助敘述文件)

支援存取資料庫的BDE,有時也稱為IDAPI

用於列印輸出報表的ReportSmith報表工具

如果應用中使用了VBX控件,還要包括VBXBIVBXII.DLL

13.3.4 裝設BDE

        在交付資料庫應用程式時,必須同時在執行應用程式的機器上裝設BDEDelphi 本身包含可再裝設的BDE,在準備資料庫應用程式裝設盤時,同時從Delphi中復制一份BDE 到最終用戶的機器中,BDE中包含存取多種資料庫系統的驅動程式,為了節省磁碟空間, 在裝設BDE時,可以只裝設應用程式必須的驅動程式,例如, 如果我們的應用程式只需要存取dBASE資料庫文件,那麼在裝設BDE時,只需裝設dBASE的驅動程式就行了。要存取Paradox資料庫,BDE至少需要500KB的磁碟空間。BDE主要包括下列文件,請參看DEPLOY.TXT文件。 

13.5 BDE中主要包括的文件

──────────────────────────────────

文 件 名   說 明

——————————————————————————————————

IDAPI01.DLL  BDE應用程式接口動態連接庫

IDBAT01.DLL  BDE Batch應用動態連接庫

IDQRY01.DLL  BDE查詢動態連接庫

IDASCI01.DLL  BDE ASCII碼驅動程式

IDPDX01.DLL  BDE Paradox資料庫驅動程式

IDDBAS01.DLL  BDE dBASE資料庫驅動程式

IDR10009.DLL  BDE 資源庫

ILD01.DLL  語言驅動程式

IDODBC01.DLL  BDEODBC驅動程式

ODBC.NEW  Microsoft ODBC驅動過程管理器(Version2.0)

ODBCINST.NEW  Microsoft ODBC驅動程式裝設程式(Version2.0)

TUTILITY.DLL  BDE應用工具庫

BDECFG.EXE  BDE組態工具

BDECFG.HLP  BDE組態工具輔助敘述文件

IDAPI.CFG  BDE(IDAPI)組態文件

────────────────────────────────── 

       裝設BDE可以採用與裝設Delphi相同的方法,在Windows環境中執行Delphi的裝設程式setup.EXE,此時,Delphi顯示Delphi Installation對話方塊

       為我們只須裝設BDE,所以只要選擇Borland Database Engine檢查框,如果應用程式要處理SQL資料庫伺服器上的數據,還必須要選擇SQL Links 檢查框, 以便裝設 SQL Links。按一下Continue按紐,完成BDE的裝設。

        如果沒有Delphi裝設盤,我們也可以手工裝設BDE , 從現有機器上的 BDE 目錄(或IDAPI目錄)中拷貝所有的文件到用戶機器上的BDE目錄中,並在用戶的Win.INI 文件的結尾處增加下列語句: 

[IDAPI]

DLLPATH=C:/DELPHI/IDAPI

CONFIGFILE01=C:\DELPHI\IDAPI.CFG 

然後在WindowsProgram Manager中為IDAPICFG.EXE起動圖示。  

語言驅動程式的裝設

         BDE可以為應用程式提供不同的語言支援,語言驅動程式可以在組態Paradox,dBASE資料庫時載入,對於伺服器上的資料庫可以在IDAPI.CFG 文件中敘述相應的語言驅動程式,語言驅動程式在C:\DELPHI\IDAPI\LANGDRV子目錄下(磁碟機名與Delphi裝設的磁碟有關),是帶有檔案附加名為.LD的文件。如果正確裝設了語言驅動程式,在WindowsWIN.INI 文件中包含下列內容(缺省情況下): 

[Borland Language Drivers]

LDpath=C:/dELPHI\IDAPI\LANGDRV 

13.4.5 裝設SQL Link 

裝設SQL鍊結與裝設BDE執行相同的步驟,在圖13.7中只選擇SQL Link檢查框,然後執行裝設,選擇應用程式要存取的SQL資料庫伺服器,當選擇裝設SQL Link時, 裝設程式會自動地裝設BDE。根據用戶選擇的SQL資料庫伺服器,裝設程式會自動地提示相關的特定資訊,例如Informix資料庫系統的鍊路(SQL Link)需要一個放置訊息文件的地方。用戶選擇的每個SQL Link都使用一個或多個附加的動態鍊結庫(DLL文件),這些文件將要拷貝到BDE目錄中,下面是建立SQL Link時常見的SQL資料庫系統所需的DLL文件。 

1.ORACLE資料庫

在建立ORACLESQL Link時除了需要下列文件外,應用程式還需要ORACLE資料庫管理系統的用戶端的連接產品與網路通訊協定接口。 

13.6 建立ORACLE資料庫的SQL Link所需的文件

───────────────────────────

檔案標簽   描 述

———————————————————————————

SQLD_ORA.DLL   Borland SQL Link for ORACLE驅動程式

SQLD_ORA.HLP   連線輔助敘述文件

SQL_ORA.CNF   ORACLE驅動的BDE組態文件

ORA6Win.DLL   ORACLE 6.x版用戶端的DLL文件

ORA7Win.DLL   ORACLE 7.x版用戶端的DLL文件

SQL13Win.DLL   ORACLE 用戶端的DLL文件

SQLWin.DLL   ORACLE 用戶端的DLL文件

COREWin.DLL   ORACLE 用戶端的DLL文件

ORAWE850.Ld   ORACLE 的語言驅動程式

─────────────────────────── 

2. SybaseMicroSoft SQL Server資料庫

在建立SybaseMicroSorft SQL ServerSQL Link時除了需要下列文件外, 應用程式還需要Sybase資料庫管理系統的用戶端的連接產品與網路通訊協定接口。 

13.7 建立Sybase資料庫的SQL Link所需的文件

───────────────────────────

檔案標簽  描 述

———————————————————————————

SQLD_SS.DLL  BDE SQL Link for Sybase的驅動程式

SQLD_SS.HLP  連線輔助敘述文件

SQL_SS.CNF  Sybase驅動程式的BDE組態文件

W3DBLIB.DLL  Sybase/MC SQL Server用戶端的DLL文件

DBNMP3.DLL  Sybase/MC SQL Server用戶端的DLL文件

SYDC437.LD  Sybase語言驅動程式

SYDC850.LD  Sybase語言驅動程式

─────────────────────────── 

3. Informix資料庫

在建立InformixSQL Link時除了需要下列文件外,應用程式還需要Informix資料庫管理系統的用戶端的連接產品與網路通訊協定接口。 

13.8 建立Informix 資料庫的SQL Link所需的文件

───────────────────────────

檔案標簽   描 述

———————————————————————————

SQLD_ss.DLL  BDE SQL Link for Informix的驅動程式

SQLD_INF.HLP  連線輔助敘述文件

SQL_INF.CNF  Informix驅動程式的BDE組態文件

LDLLSQLW.DLL  Informix用戶端的DLL文件

ISAM.IEM  Informix錯誤資訊文件

OS.IEM  Informix錯誤資訊文件

RDS.IEM  Informix錯誤資訊文件

SECURITY.IEM  Informix錯誤資訊文件

SQL.IEM  Informix錯誤資訊文件

─────────────────────────── 

4.InterBase 資料庫

在建立InterBaseSQL Link時除了需要下列文件外,應用程式還需要InterBase資料庫管理系統的用戶端的連接產品與網路通訊協定接口。 

13.9 建立InterBase資料庫的SQL Link所需的文件

───────────────────────────

檔案標簽   描 述

———————————————————————————

SQLD_IB.DLL  BDE SQL Link for InterBase的驅動程式

SQLD_IB.HLP  連線輔助敘述文件

SQL_IB.CNF  InterBase驅動程式的BDE組態文件

CONNECT.EXE  InterBase連接測試診斷工具

CONNECT.HLP  InterBase連接測試診斷工具的輔助敘述文件

GDS.DLL  InterBase API DLL

REMOTE.DLL  InterBase與網路的接口的DLL文件

INTERBASE.MSG  InterBase錯誤資訊文件

───────────────────────────


後一頁
前一頁
回目錄
回首頁