Delphi編程訪問SQL Server資料庫

來源:互聯網
上載者:User

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所欠缺的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.