填寫資料(Filling some data)
為了有一些“啞元”(dummy)數據,在類型(Type)表中填上以下4個記錄:“遊戲(Game)”,“資料庫(Database)”,“互聯網(Internet)”,“圖形( Graphics)」。在選擇儲存在應用程式表(applications)中的應用程式類型時,這些值將會被使用。 接下來,在作者表(Authors)中增加一行:'Delphi Guide'、'[email protected]'、 'http://delphi.about.com'。最後,在應用程式表(Applications)中加上一行:'Zoom'、'Zooming the Destop'、'Delphi Guide'、'Graphics'、10、0、02/20/2001,同時讓最後一個欄位(照片)為空。
如何處理這些「空」(blank)的資料庫......在本教程的餘下章節將進行說明。
第二章連到資料庫,用ADO? BDE?
第一節Delphi資料庫連通性
像在上一章中所顯示的那樣,資料庫是以一定的結構格式儲存資料的一個或多個表的集合。這些表格包含以行、列的形式表現的資料。當一個資料庫包含一個或多個表時,這些表通常擁有分散但相關的資料。 MS access、Interbase、SQL Server以一個檔案表示完整的資料庫(MS Access是*.mdb檔案)。另一方面,Paradox和dBase由代表索引和表關係的單獨的表和檔案定義。描述Paradox資料庫的所有檔案通常存放在一個目錄中。當然,Delphi可以以這兩種方式工作。
用Delphi,我們可以連到不同類型的資料庫:本地或C/S(遠端伺服器)資料庫。本機資料庫存放在本機磁碟機或本區域網中。遠端資料庫伺服器通常位於遠端機器。本地資料庫的類型有Paradox、dBase和MS Access。 C/S資料庫有MS SQL Server、Interbase或Oracle。
本地資料庫通常被稱為單層資料庫。單層資料庫對任何變更如:編輯資料、插入記錄、或刪除記錄-立即實現。單層資料庫在表所容納的資料量大小和應用程式所支援的使用者量的多少上有限制。當資料庫包含幾個表之間複雜關係的資訊時,或當客戶端數量增加時,你需要使用二層或多層應用程式。客戶端應用程式在本機上運作;應有程式伺服器多運行在伺服器上,而資料庫可能位於另一個伺服器。多層體系的想法是客戶端程式可以非常小,因為應用程式伺服器可以完成很多工作。這可以使你編寫所謂瘦客戶端應用程式。
當我們用Delphi編寫資料庫應用程式時,我們需要用一些資料庫引擎存取資料庫的資料。資料庫因請允許你把焦點集中在你所訪問的是什麼數據,而不是怎樣訪問它。從第一版開始,Delphi就為資料庫開發人員提供了BDE(Borland Database Engine)。除了BDE外,從第五版開始,Delphi提供對微軟的ADO資料庫介面的支援。
本教學將重點放在以MSAccess本機資料庫開發單層資料庫應用程式。
第二節Borland 資料庫引擎(BDE)
BDE是所有Borland產品—包括Delphi和C++Builder—時共同的資料存取層。 BDE是一個DLL(Dynamic Link Libraries)和工具的集合。它的漂亮之處在於所有的資料處理對於開發者都是透明的。 BDE附帶一套驅動,可以讓你的應用程式與多種不同類型的資料庫進行交流。這些驅動程式把高層次資料庫指令(如open或post)和任務(記錄鎖定或SQL結構)轉換為特殊的資料庫類型所需的特定指令,這些特殊的資料庫有:Paradox、dBase、MS Access或任何ODBC數據源。 BDE API (Application PRogramming Interface 應用程式介面)包含200多個流程和函數,它們可以從BDE單元取得。幸運的是,你幾乎根本不需要直接呼叫這些程式。相反地,你透過VCL(譯者加:Visual Component Library視覺元件庫)的資料存取元件—位於元件面板的資料存取頁面(Data Access)使用BDE。為了存取特殊的資料庫,應用程式只需知道資料庫的別名(Alias)就可以存取該資料庫的所有資料。別名在BDE管理器(BDE Administrator)中建立,它指定了磁碟機的參數和資料庫的位置。 BDE自帶一個資料庫驅動集,可以存取大範圍不同類型的資料元。標準的BDE驅動程式包括Paradox、dBase、MS Access、ASCII文字。當然,任何ODBC驅動器也能透過ODBC管理器(ODBC Administrator)被BDE使用。
使用BDE存取資料庫的Delphi應用程式需要為應用程式分發BDE。當配置應用程式的BDE時,你必須使用InstallShield Express或別的Borland指定的安裝程式。
BDE作為資料庫引擎有其優點也有其缺點。但是,在本教程中將不討論為什麼和什麼時候你應該(或不應該)使用BDE方法而不是某些非BDE技術。
既然本教程是討論ADO/MSAccess的,那麼餘下部分將集中在這種非BDE的資料庫方法。
2002年12月22日