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