崔園
(成都醫學院 人文信息管理學院計算機教研室,四川 成都 610500)
Delphi是由Borland公司推出的,呈現了全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具,對于廣大的程序開發人員來講,它具有簡單、高效、功能強大的特點。Delphi和VC相比,更簡單、更易于掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強大、更實用。可以說Delphi同時兼備了VC功能強大和VB簡單易學的特點。因此,使用Delphi開發應用軟件,無疑會大大地提高編程效率,自然成為程序員至愛的編程工具。
Delphi主要具有以下幾個特征:基于窗體和面向對象的方法,強大的數據庫支持,與Windows編程緊密結合,高速的編譯器,強大而成熟的組件技術。另外,Delphi還提供了各種開發工具,包括集成環境、圖像編輯(Image Editor),以及各種開發數據庫的應用程序,如Desktop DataBase Expert等。在Delphi眾多的優勢當中,它在數據庫方面的特長顯得尤為突出:適應于多種數據庫結構,從客戶機/服務機模式到多層數據結構模式;高效率的數據庫管理系統和新一代更先進的數據庫引擎;最新的數據分析手段和提供大量的企業組件。數據庫訪問鏈路,二是用戶界面,這是典型的數據庫應用程序的體系結構。Delphi的數據庫體系結構如下:
一個數據庫應用程序在邏輯上通常由兩部分組成:一是
在這個體系中,可以看出通過數據源可以訪問數據庫。數據模塊在整個數據庫應用程序結構中起著非常重要的作用,它包含了數據源、數據集和數據連接3大部分,其中數據源是用戶界面和數據集之間的通道,由于用戶界面并不直接與數據集連接,這就增加了對數據操作的靈活性。比如,多個數據覺醒控件可以共用一個數據源,當用戶用一個控件操作數據記錄時,其他控件顯示的記錄可以與之保持同步變化;另外一部分是數據集,它是數據庫應用程序的核心部分,該數據集主要是來自底層數據庫的記錄集,它可以是一個數據庫表、或者是一個表的記錄子集、一個多表視圖等等。通過數據集的緩沖,可以對業務邏輯進行集中處理而不立即影響數據庫中物理的表;數據連接在數據庫應用程序中起著數據傳遞的作用,不同的數據集使用不同的連接機制,這些不同的數據庫訪問機制又影響到數據庫應用程序的結構。數據庫的連接包括直接連接數據庫服務器、使用磁盤上的專用文件、與其他數據集的連接以及基于ADO的應用程序服務器連接。
Delphi 7為用戶提供了兩種連接數據庫的方式:
BDE(Borland Database Engine,Borland數據庫引擎)方式:Borland公司提供的專門的數據庫連接方法。
ADO(Active Data Objects,動態數據對象)方式:是Borland對微軟公司的ADO數據庫連接引擎的封裝。當發行基于它的數據庫應用系統時,不需要對數據庫驅動打包,基本的Windows 2000/XP系統就能支持ADO數據庫技術,這是ADO技術一個突出的特點。
用戶在Delphi中使用ADO連接數據庫的過程和方法可以用圖2說明。從圖中可以看出,ADOConnction可以連接ADO技術支持的任何數據庫,它在具體的數據庫和ADODataSet之間建立了一個集聚層,使得DataSet數據集獨立于數據庫系統。

圖2 Delphi數據庫體系詳圖Fig.2 Architecture of Delphi database
Delphi組件面板上提供的開發數據庫應用程序所要使用的組件包括以下3類:
1)數據集和連接組件:該類組件可以針對不同的數據庫驅動接口方案,提供對應的數據庫連接和數據集專用組件。
2)數據訪問組件:該類組件主要用于連接數據集組件和數據控制組件,可以訪問數據庫中的數據庫表。
3)數據控制組件:該類組件用來與用戶交互,可以顯示或者修改數據庫中的數據。
在Delphi中的數據控制組件通常稱為數據覺醒(data aware)控件或數據綁定(data binding)控件,它們具有自動感知數據的能力,因這些控件的這一特點使得用戶進行數據庫應用程序的設計更加便利和靈活。它們位于組件面板的Data Controls頁。
圖3展示了ADO連接數據庫體系結構,現在我們將ADOCon連接到SQL Server 2000數據庫服務器,具體步驟如下:

圖3 ADO連接數據庫體系結構Fig.3 Architecture of ADO connection the database
1)雙擊ADOCon,可打開下圖所示的“FData.ADOCon Connection String”窗口;
2)點擊Build按鈕,打開“數據庫連接屬性”窗口,在其中的 “OLE DB提供程序”列表中選中 “Microsoft OLE DB Provider for SQL Server”項,點擊“下一步”按鈕,切換到該窗口的“連接”選項卡,如圖4所示;
3)在第2項中,選擇“使用Windows集成安全設置”登錄SQL Server數據庫;在“在數據庫服務器上選擇數據庫”下拉列表中選定事先建立的數據庫;
4)點擊“確定”按鈕,可返回如圖4所示的窗口,這時其中的“Use Connection String”下的文本框中應該有了相應的內容;點擊“OK”按鈕,可以看到ADOCon的ConnectionString屬性后有了內容。

圖4 ADOCon連接到SQL Server 2000數據庫服務器Fig.4 ADOCon connection the database server of SQL Server 2000
Delphi軟件是一個優秀的數據庫管理系統開發工具。它不僅為用戶提供了豐富的控件進行開發簡潔高效的數據庫管理系統,而且還很具有靈活性開發通用程序,這種強大的功能相比其它專用數據庫開發系統具有更多的優勢。
由于ADO技術的快速普及,從Delphi 5.0開始,加入了ADO技術的模塊,并逐步成為Delphi數據庫設計的主流。同Visual Basic軟件的ADODC相比,Delphi軟件還是具有自身特點的,特別是在數據綁定方面,它更多的吸收了BDE的特點,可以做到和原來的程序兼容;另一方面,它又可以接受標準ADO技術的各種屬性和方法,Delphi軟件在接受這些屬性和方法時,它又是和數據綁定控件脫離的,當然從某種角度來說,這種方案提高了執行效率,給設計人員以更多的選擇。
[1]廖夢虎.Delphi 2010中使用ADO對象模型存取數據庫的3種方法[J].電腦編程技巧與維護,2012(8):46-47.LIAO Meng-hu.Three methods of using ADO object model to access database in delphi 2010[J].Computer Programming Skills and Maintenance,2012(8):46-47.
[2]王琪.Delphi下ADO+ODAC操作異構數據庫的方法——“經濟效益評價”軟件輔助工具開發[J].中國管理信息化,2012(5):53-54.WANG Qi.The methods to operate heterogeneous database methods in Delphi ADO+ODAC-- “economic profit evaluation”software tool development[J].China Management Informationization,2012(5):53-54.
[3]周厚福.Delphi中的數據庫編程應用[J].中國科技博覽,2010(12):300.ZHOU Hou-fu.Delphi database application programming[J].China Science and Technology Review,2010(12):300.
[4]黃榮喜.淺析Delphi中ADO與SQL Server 2000數據庫的連接[J].科技資訊,2008(1):100.HUANG Rong-xi.Simple discussion on the connection between ADO and SQL Server 2000 in Delphi[J].Information of Science and Technology,2008(1):100.
[5]胡微.基于Delphi建立數據庫應用程序[J].跨世紀,2008,16(11):222-223.HU Wei.Using Delphi to establish database applications[J].Cross a Century,2008,16(11):222-223.
[6]黃芳.Delphi7存取配置文件實現與SQL Server數據庫連接[J].電腦編程技巧與維護,2012(10):44-45.HUANG Fang.Delphi7 access configuration file to achieve with the SQL Server database connections[J].Computer Programming Skills and Maintenance,2012(10):44-45.