歡迎您光臨本站 註冊首頁

實例之Visual C#中實現DB2資料庫的編程

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
來源:比特網
在Visual Studio.NET Beta 1版本中訪問IBM DB2等非SQL Server資料庫通常是使用ADO.NET的ODBC方法,而在Beta 2中則改用OLE DB方式存取資料庫.

Beta1中連接字元串主要需聲明資料庫的ODBC的DNS名字,但Beta 2中的OLE DB連接的字元串就較複雜了,使用的類也不相同.由於DB2等資料庫在大型機等應用中使用非常廣泛,.NET自然會全力支持此類編程開發,為此,下文將逐步闡述OLE DB的DB2開發.

OLE DB for DB2驅動

,Visual Studio.NET和Windows 2000 Server中並未直接提供DB2的OLE DB驅動,因此需下載Microsoft Host Integration Server 2000軟體,該軟體包中含OLE DB Provider and ODBC driver for DB2,需下載Server端軟體包,並在安裝時選擇安裝Data Integration,安裝完成後就可使用其OLE DB的DB2驅動了.

設置資料庫連接

,我們需配置好DB2的客戶端設置,打開視圖選單項中的伺服器資源管理器,在其數據連接中新增一個連接,指定程序選項時選擇Microsoft OLE DB Provider for DB2,下一步連接選項中,填寫如下信息:

Data Source: QCDB(請酌情修改)
Network:TCP/IP
IP Address:資料庫伺服器地址
Network Port:DB2服務埠
Username:資料庫訪問許可權的用戶名
Password:該用戶口令
Database initial Catalog:QCDB
Package collection:QCDB
default schema:Userid


下一步高級選項中選各自國家語言對應的code page及CCSID,按確認鍵完成創建連接.

假設QCDB這個DB2資料庫中有一名為address的新數據表,其包含四個欄位:name、email、age和address,我們可用伺服器資源管理器打開上述連接及該數據表,可輸入數條中文記錄,確定中文字元能否正常顯示.



為項目增加資料庫連接

用Visual Studio新建一個ASP.NET項目,激活伺服器資源管理器的上述連接,用滑鼠將該連接拖至新建的Web Form上,則OLE DB需要的連接字元參數全部自動寫入Web Form程序中,上述連接生成的語句如下:



this.oleDbConnection1.ConnectionString
= @Provider=DB2OLEDB;
Cache Authentication=False;
Integrated Security=;
Password=freebsd9;
Persist Security Info=True;
User ID=userid; Initial Catalog=qcdb;
Data Source=qcdb; Mode=ReadWrite;
Extended Properties=;
APPC Remote LU Alias=;
APPC Local LU Alias=;
APPC Mode Name=QPCSUPP;
Network Transport Library=TCPIP;
Host CCSID=37; PC Code Page=1282;
Network Address=172.23.169.1;
Network Port=4444; Package Collection=qcdb;
Default Schema=userid; Alternate TP Name=;
Process Binary as Character=False;
Units of Work=RUW

用伺服器資源管理器工具生成連接可避免錯寫各種參數,從而可快速地實現資料庫連接.

Web Form顯示資料庫數據

為Web Form新增一個OleDbDataAdapter類的對象oleDbDataAdapter1,為其選擇數據連接時選上面建立的連接如:qcdb.qcdb.userid,選擇使用SQL語句,生成SQL語句如:Select ?from address,提示完成.再為Web Form新增一個DataSet並命名為dataSet1用來放查詢得到的數據.新增一個顯示數據用的DataGrid命名為DataGird1,在Web Form的程序段中的Page_Init部分中增加如下代碼:

oleDbConnection1.Open();
//打開資料庫連接
oleDbDataAdapter1.Fill(dataSet1,Address);
//將得來的數據填入dataSet
DataGrid1.DataBind();


//綁定數據
oleDbConnection1.Close();
//關閉連接


編譯運行后,可見address表中內容被顯示於Web Form的DataBrid中.OleDbConnection1等屬性設置都在生成的Web Form設計代碼中.

增加資料庫數據

在Web Form上新增對應欄位數量個數的TextBox,及一個button,為該按鍵增加Click響應事件代碼如下:

this.oleDbInsertCommand1.CommandText
= INSERT INTO ADDRESS(NAME, EMAIL, AGE, ADDRESS) VALUES ( TextBox1.Text , TextBox2.Text ,
TextBox3.Text , TextBox4.Text );
oleDbInsertCommand1.Connection.Open();
//打開連接
oleDbInsertCommand1.ExecuteNonQuery();
//執行該SQL語句
oleDbInsertCommand1.Connection.Close();
//關閉連接


實際編程中,我們需注意SQL語句的單引號問題以及數字和字元串處理問題.



刪除資料庫數據

在Web Form上新增一個TextBox5及一個按鍵,要執行刪除時,在TextBox5中填入要刪除記錄的name欄位的值,然後按該按鍵執行刪除.該按鍵代碼如下:



System.Data.OleDb.OleDbCommand oleDeleteCommand1
new System.Data.OleDb.OleDbCommand();
this.oleDbDataAdapter1.DeleteCommand
= oleDeleteCommand1;
//聲明為oleDb命令
oleDeleteCommand1.CommandText
=DELETE FROM ADDRESS WHERE NAME= TextBox5.Text ;
oleDeleteCommand1.Connection
= this.oleDbConnection1;
//指明連接
oleDeleteCommand1.Connection.Open();
//打開連接
oleDeleteCommand1.ExecuteNonQuery();
//執行SQL語句
oleDeleteCommand1.Connection.Close();
//關閉連接

對於增加、更新和刪除操作后的DataGrid刷新,可執行類似的Select SQL語句即可.



上述代碼可供各種非SQL Server資料庫編程參考和使用,微軟為此提供了如OLE DB Provider for Oracle、AS/400和VSAM等眾多驅動,OLE DB方式確實提供了較ODBC方式更為廣泛的數據存取範圍,如可存取Access庫中的數據、郵件系統中的數據、Web上的文本及圖形、目錄服務等等,符合ODBC標準的數據源就是符合OLE DB標準的數據存儲的子集,OLE DB的API是符合COM標準和基於對象的API,這些都是較原ODBC方式有大幅改進,從而為綜合的數據集成處理提供了更廣泛的支持.



通過以上講解,筆者希望使讀者初步了解在Visual Studio.NET中,以DB2為後台資料庫時應用系統的開發步驟,也希望讀者舉一反三,領會思想和方法,以便更好地應用到自己的系統開發中.

上述程序在中文Windows 2000 Server、IBM DB2和Visual Studio.NET Beta 2環境中編譯並正常運行.


[火星人 ] 實例之Visual C#中實現DB2資料庫的編程已經有1490次圍觀

http://coctec.com/docs/linux/show-post-58226.html