用DELPHI編程訪問(wèn)SQL SERVER數(shù)據(jù)庫(kù)
發(fā)表時(shí)間:2023-07-28 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Delphi是一個(gè)優(yōu)秀的可視化軟件開發(fā)環(huán)境,并已廣泛應(yīng)用于數(shù)據(jù)庫(kù)軟件的開發(fā)。在DelphiC/S版環(huán)境中,結(jié)合其優(yōu)化的數(shù)據(jù)庫(kù)操作,以及BorlandDatabaseEngine(即:BDE,數(shù)據(jù)庫(kù)引...
Delphi是一個(gè)優(yōu)秀的可視化軟件開發(fā)環(huán)境,并已廣泛應(yīng)用于數(shù)據(jù)庫(kù)軟件的開發(fā)。在DelphiC/S版環(huán)境中,結(jié)合其優(yōu)化的數(shù)據(jù)庫(kù)操作,以及BorlandDatabaseEngine(即:BDE,數(shù)據(jù)庫(kù)引擎),對(duì)開發(fā)客戶機(jī)/服務(wù)器系統(tǒng)下的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)軟件提供了更加快速有效的途徑。在客戶機(jī)/服務(wù)器系統(tǒng)中,服務(wù)器端我們采用Microsoft SQL Server 6.0 for Windows NT作為數(shù)據(jù)庫(kù)服務(wù)器;另外,在客戶端采用Delphi編寫客戶軟件。在此,我們假定SQLServer設(shè)置完畢,并已經(jīng)啟動(dòng),僅介紹客戶端的程序編寫步驟。從以下文章中,讀者可以發(fā)現(xiàn)不需要寫一句程序,就能實(shí)現(xiàn)對(duì)SQLServer數(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。首先,選擇SQLServer類型的數(shù)據(jù)庫(kù),進(jìn)入“ODBCSQLServerSetup"窗口。然后,定義數(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)SQLServer數(shù)據(jù)庫(kù)時(shí)略不同于VB。VB是直接調(diào)用ODBC來(lái)連接SQLServer的,而Delphi是首先調(diào)用BDE中的別名,別名再通過(guò)BDE中的ODBCDriver直接訪問(wèn)ODBC數(shù)據(jù)源實(shí)現(xiàn)的。而在BDE的ODBCDriver中你還可以定義其他ODBC屬性,例如語(yǔ)言驅(qū)動(dòng)程序或打開模式等等。
這無(wú)疑大大增強(qiáng)了ODBC的功能。
首先,在Drivers標(biāo)記頁(yè)中,按“NewODBCDriver"添加新的驅(qū)動(dòng)程序。在添加窗口中有三欄需要填寫。第一欄SQLLinkDriver可任取一名,如:ODBC—ZHB;第二欄
DefaultODBCDriver中選擇SQLServer;在第三欄defaultDataSourceName中選擇剛才注冊(cè)的數(shù)據(jù)源ZHB。按OK確認(rèn)后就增加了一個(gè)名為ODBC—ZHB的DelphiODBC驅(qū)動(dòng)程
序。在其右側(cè)的參數(shù)表中,還可以設(shè)置打開模式OPENMODE、查詢模式SQLQRYMODE、
SQL語(yǔ)句執(zhí)行模式SQLPASSTHRUMODE以及語(yǔ)言驅(qū)動(dòng)程序LANGDRIVER等。接下來(lái),在Aliases標(biāo)記頁(yè)中,按“NewAlias"命令按鈕增加一個(gè)新的別名。在增加新別名窗口中有兩欄需要填寫。第一欄為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è)置DataAccess控件屬性以實(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,將打開的數(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è)置DataControls控件屬性以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。一旦DataAccess類的控件被成功打開,處于窗口中的DataControls標(biāo)記頁(yè)的控件就可以使用了。這些控件有DBGrid、DBNavigator、DBText、DBEdit、DBMemo、DBImage、DBListBox、DBComboBox、DBCheckBox以及DBRadioGroup。這些控件只要設(shè)定他們的DataSource和DataFields屬性就可以實(shí)現(xiàn)對(duì)表的讀寫操作。
可以看出,Delphi在設(shè)計(jì)數(shù)據(jù)庫(kù)軟件方面,尤其是SQLServer數(shù)據(jù)庫(kù)方面要比VB
來(lái)得快;而且,其豐富的控件為界面的設(shè)計(jì)提供了有利幫助;另外,Delphi的真編譯使程序的執(zhí)行效率相當(dāng)高,可移植性好。這些,都是VB所欠缺的。