delphi是一個優秀的可視化軟件開發環境,並已廣泛應用於數據庫軟件的開發。在DelphiC/S版環境中,結合其優化的數據庫操作,以及Borland Database Engine(即:BDE,數據庫引擎),對開發客戶機/服務器系統下的網絡數據庫軟件提供了更加快速有效的途徑。在客戶機/服務器系統中,服務器端我們采用Microsoft SQL Server6.0 for WindowsNT作為數據庫服務器;另外,在客戶端采用Delphi編寫客戶軟件。在此,我們假定SQLServer設置完畢,並已經啟動,僅介紹客戶端的程序編寫步驟。從以下文章中,讀者可以發現不需要寫一句程序,就能實現對SQL Server數據庫的操作了。具體步驟如下:
第一步,注冊ODBC數據源。這是至關重要的一步,否則就無法實現對數據庫的訪問。例如,我們定義一個可訪問SQL Server服務器上zhb數據庫的數據源ZHB。首先,選擇SQL Server類型的數據庫,進入“ODBC SQL Server Setup”窗口。然後,定義數據源名稱為“ZHB”;定義Server為“SQL—Server”;以及網絡路徑為“ιιSQL—Server”;最後,按option命令按鈕選擇訪問的數據庫為zhb即可。
第二步,配置BDE。它是Delphi專用的數據庫引擎。既可以從Delphi程序組裡啟動,也可以從Delphi程序項的Tools菜單下啟動。Delphi在訪問SQL Server數據庫時略不同於VB。VB是直接調用ODBC來連接SQLServer的,而Delphi是首先調用BDE中的別名,別名再通過BDE中的ODBC Driver直接訪問ODBC數據源實現的。而在BDE的ODBC Driver中你還可以定義其他ODBC屬性,例如語言驅動程序或打開模式等等。這無疑大大增強了ODBC的功能。
首先,在Drivers標記頁中,按“New ODBC Driver”添加新的驅動程序。在添加窗口中有三欄需要填寫。第一欄SQL Link Driver可任取一名,如:ODBC—ZHB;第二欄Default ODBC Driver中選擇SQL Server;在第三欄default Data Source Name中選擇剛才注冊的數據源ZHB。按OK確認後就增加了一個名為ODBC—ZHB的DelphiODBC驅動程序。在其右側的參數表中,還可以設置打開模式OPENMODE、查詢模式SQLQRYMODE、SQL語句執行模式SQL?PASSTHRUMODE以及語言驅動程序LANGDRIVER等。接下來,在Aliases標記頁中,按“NewAlias”命令按鈕增加一個新的別名。在增加新別名窗口中有兩欄需要填寫。第一欄為Newaliasname,可任取一個名字,如:zhbdb;這個別名就是我們要在Table控件中直接調用的數據庫名字。第二欄Aliastype選擇剛才在Drivers標記頁中定義的 C—ZHB,最後按OK確認,就增加了一個名為zhbdb的別名。這樣,Table控件可以通過別名zhbdb,別名zhbdb通過Delphi的ODBCDrivers(即:ODBC—ZHB),ODBC—ZHB再通過ODBC數據源ZHB就可連接到SQL—Server服務器上的zhb數據庫了。以上相當於完成了在BDE中的注冊,接下來就可以進行控件的屬性設置了。
第三步,設置Data Access控件屬性以實現與數據庫的連接。將Table和DataSource控件加到窗體中並修改Table控件的屬性。首先,將DatabaseName屬性改為剛才在BDE別名中定義的zhbdb。設置完databaseName屬性後,就可以從TableName屬性的下拉列表中選擇一個表的名字。這其間Table控件要完成與數據庫的連接,連接成功後,該列表中才會出現可選的表名。然後,將Active屬性改為true,將打開的數據庫激活,和DataSource控件建立聯系。將Exclusive屬性改為true。最後,將DataSource控件的DataSet屬性設為Table1。DataSource控件為Table控件與DataControls控件相聯系的渠道。通過以上步驟的設置,DataSource1對象就與zhb數據庫的某個表建立了聯系。以後,只要對DataSource1對象訪問,就可以實現對該表的操作了。
第四步,設置Data Controls控件屬性以實現對數據庫的操作。一旦Data Access類的控件被成功打開,處於窗口中的Data Controls標記頁的控件就可以使用了。這些控件有DBGrid、DBNavigator、DBText、DBEdit、DBMemo、DBImage、DBListBox、DBComboBox、DBCheckBox以及DBRadioGroup。這些控件只要設定他們的DataSource和DataFields屬性就可以實現對表的讀寫操作。
可以看出,Delphi在設計數據庫軟件方面,尤其是SQLServer數據庫方面要比VB來得快;而且,其豐富的控件為界面的設計提供了有利幫助;另外,Delphi的真編譯使程序的執行效率相當高,可移植性好。這些,都是VB所欠缺的。