自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實(shí)現(xiàn)DB2功能的C#數(shù)據(jù)庫(kù)編程實(shí)例

開發(fā) 后端
在Visual Studio.NET Beta 1版本中訪問(wèn)IBM DB2等非SQL Server數(shù)據(jù)庫(kù)通常是使用ADO.NET的ODBC方法,而在Beta 2中則改用OLE DB方式存取數(shù)據(jù)庫(kù)。本C#數(shù)據(jù)庫(kù)編程實(shí)例將介紹如何實(shí)現(xiàn)。

在Visual Studio.NET Beta 1版本中訪問(wèn)IBM DB2等非SQL Server數(shù)據(jù)庫(kù)通常是使用ADO.NET的ODBC方法,而在Beta 2中則改用OLE DB方式存取數(shù)據(jù)庫(kù)。

Beta1中連接字符串主要需聲明數(shù)據(jù)庫(kù)的ODBC的DNS名字,但Beta 2中的OLE DB連接的字符串就較復(fù)雜了,使用的類也不相同。由于DB2等數(shù)據(jù)庫(kù)在大型機(jī)等應(yīng)用中使用非常廣泛,.NET自然會(huì)全力支持此類編程開發(fā),為此,下文將逐步闡述OLE DB的DB2開發(fā)。

C#數(shù)據(jù)庫(kù)編程實(shí)例之OLE DB for DB2驅(qū)動(dòng)

首先,Visual Studio.NET和Windows 2000 Server中并未直接提供DB2的OLE DB驅(qū)動(dòng),因此需下載Microsoft Host Integration Server 2000軟件,該軟件包中含OLE DB Provider and ODBC driver for DB2,需下載Server端軟件包,并在安裝時(shí)選擇安裝Data Integration,安裝完成后就可使用其OLE DB的DB2驅(qū)動(dòng)了。

C#數(shù)據(jù)庫(kù)編程實(shí)例之設(shè)置數(shù)據(jù)庫(kù)連接

首先,我們需配置好DB2的客戶端設(shè)置,打開視圖選單項(xiàng)中的服務(wù)器資源管理器,在其數(shù)據(jù)連接中新增一個(gè)連接,指定程序選項(xiàng)時(shí)選擇Microsoft OLE DB Provider for DB2,下一步連接選項(xiàng)中,填寫如下信息:

Data Source: QCDB(請(qǐng)酌情修改)

Network:TCP/IP

IP Address:數(shù)據(jù)庫(kù)服務(wù)器地址

Network Port:DB2服務(wù)端口

Username:數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限的用戶名

Password:該用戶口令

Database initial Catalog:QCDB

Package collection:QCDB

default schema:Userid

下一步高級(jí)選項(xiàng)中選各自國(guó)家語(yǔ)言對(duì)應(yīng)的code page及CCSID,最后按確認(rèn)鍵完成創(chuàng)建連接。

假設(shè)QCDB這個(gè)DB2數(shù)據(jù)庫(kù)中有一名為address的新數(shù)據(jù)表,其包含四個(gè)字段:name、email、age和address,我們可用服務(wù)器資源管理器打開上述連接及該數(shù)據(jù)表,可輸入數(shù)條中文記錄,確定中文字符能否正常顯示。

C#數(shù)據(jù)庫(kù)編程實(shí)例之為項(xiàng)目增加數(shù)據(jù)庫(kù)連接

用Visual Studio新建一個(gè)ASP.NET項(xiàng)目,激活服務(wù)器資源管理器的上述連接,用鼠標(biāo)將該連接拖至新建的Web Form上,則OLE DB需要的連接字符參數(shù)全部自動(dòng)寫入Web Form程序中,上述連接生成的語(yǔ)句如下:

  1. this.oleDbConnection1.ConnectionString 
  2. = @Provider=DB2OLEDB;  
  3. Cache Authentication=False;  
  4. Integrated Security=;  
  5. Password=freebsd9;  
  6. Persist Security Info=True;  
  7. User ID=userid;Initial Catalog=qcdb;  
  8. Data Source=qcdb;Mode=ReadWrite;  
  9. Extended Properties=;  
  10. APPC Remote LU Alias=;  
  11. APPC Local LU Alias=;  
  12. APPC Mode Name=QPCSUPP;  
  13. Network Transport Library=TCPIP;  
  14. Host CCSID=37;PC Code Page=1282;  
  15. Network Address=172.23.169.1;  
  16. Network Port=4444;Package Collection=qcdb;  
  17. Default Schema=userid;Alternate TP Name=;  
  18. Process Binary as Character=False;  
  19. Units of Work=RUW 

用服務(wù)器資源管理器工具生成連接可避免錯(cuò)寫各種參數(shù),從而可快速地實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接。

Web Form顯示數(shù)據(jù)庫(kù)數(shù)據(jù)

為Web Form新增一個(gè)OleDbDataAdapter類的對(duì)象oleDbDataAdapter1,為其選擇數(shù)據(jù)連接時(shí)選上面建立的連接如:qcdb.qcdb.userid,選擇使用SQL語(yǔ)句,生成SQL語(yǔ)句如:Select ?from address,最后提示完成。再為Web Form新增一個(gè)DataSet并命名為dataSet1用來(lái)放查詢得到的數(shù)據(jù)。新增一個(gè)顯示數(shù)據(jù)用的DataGrid命名為DataGird1,最后在Web Form的程序段中的Page_Init部分中增加如下代碼:

  1. oleDbConnection1.Open();  
  2. //打開數(shù)據(jù)庫(kù)連接  
  3. oleDbDataAdapter1.Fill(dataSet1,Address);  
  4. //將得來(lái)的數(shù)據(jù)填入dataSet  
  5. DataGrid1.DataBind();  
  6. //綁定數(shù)據(jù)  
  7. oleDbConnection1.Close();  
  8. //關(guān)閉連接 

編譯運(yùn)行后,可見address表中內(nèi)容被顯示于Web Form的DataBrid中。OleDbConnection1等屬性設(shè)置都在生成的Web Form設(shè)計(jì)代碼中。

C#數(shù)據(jù)庫(kù)編程實(shí)例之增加數(shù)據(jù)庫(kù)數(shù)據(jù)

在Web Form上新增對(duì)應(yīng)字段數(shù)量個(gè)數(shù)的TextBox,及一個(gè)button,為該按鍵增加Click響應(yīng)事件代碼如下:

  1. this.oleDbInsertCommand1.CommandText 
  2. INSERT INTO ADDRESS(NAME, EMAIL, AGE, ADDRESS)  
  3. VALUES (+TextBox1.Text+,+TextBox2.Text+,  
  4. +TextBox3.Text+,+TextBox4.Text+);  
  5. oleDbInsertCommand1.Connection.Open();  
  6. //打開連接  
  7. oleDbInsertCommand1.ExecuteNonQuery();  
  8. //執(zhí)行該SQL語(yǔ)句  
  9. oleDbInsertCommand1.Connection.Close();  
  10. //關(guān)閉連接 

實(shí)際編程中,我們需注意SQL語(yǔ)句的單引號(hào)問(wèn)題以及數(shù)字和字符串處理問(wèn)題。

刪除數(shù)據(jù)庫(kù)數(shù)據(jù)

在Web Form上新增一個(gè)TextBox5及一個(gè)按鍵,要執(zhí)行刪除時(shí),在TextBox5中填入要?jiǎng)h除記錄的name字段的值,然后按該按鍵執(zhí)行刪除。該按鍵代碼如下:

  1. System.Data.OleDb.OleDbCommand oleDeleteCommand1  
  2. new System.Data.OleDb.OleDbCommand();  
  3. this.oleDbDataAdapter1.DeleteCommand 
  4. oleDeleteCommand1;  
  5. //聲明為oleDb命令  
  6. oleDeleteCommand1.CommandText 
  7. =DELETE FROM ADDRESS WHERE NAME=+TextBox5.Text+;  
  8. oleDeleteCommand1.Connection 
  9. this.oleDbConnection1;  
  10. //指明連接  
  11. oleDeleteCommand1.Connection.Open();  
  12. //打開連接  
  13. oleDeleteCommand1.ExecuteNonQuery();  
  14. //執(zhí)行SQL語(yǔ)句  
  15. oleDeleteCommand1.Connection.Close();  
  16. //關(guān)閉連接 

對(duì)于增加、更新和刪除操作后的DataGrid刷新,可執(zhí)行類似的Select SQL語(yǔ)句即可。

上述代碼可供各種非SQL Server數(shù)據(jù)庫(kù)編程參考和使用,微軟為此提供了如OLE DB Provider for Oracle、AS/400和VSAM等眾多驅(qū)動(dòng),OLE DB方式確實(shí)提供了較ODBC方式更為廣泛的數(shù)據(jù)存取范圍,如可存取Access庫(kù)中的數(shù)據(jù)、郵件系統(tǒng)中的數(shù)據(jù)、Web上的文本及圖形、目錄服務(wù)等等,符合ODBC標(biāo)準(zhǔn)的數(shù)據(jù)源就是符合OLE DB標(biāo)準(zhǔn)的數(shù)據(jù)存儲(chǔ)的子集,而且OLE DB的API是符合COM標(biāo)準(zhǔn)和基于對(duì)象的API,這些都是較原ODBC方式有大幅改進(jìn),從而為綜合的數(shù)據(jù)集成處理提供了更廣泛的支持。

通過(guò)以上講解,筆者希望使讀者初步了解在Visual Studio.NET中,以DB2為后臺(tái)數(shù)據(jù)庫(kù)時(shí)應(yīng)用系統(tǒng)的開發(fā)步驟,也希望讀者舉一反三,領(lǐng)會(huì)思想和方法,以便更好地應(yīng)用到自己的系統(tǒng)開發(fā)中。

上述程序在中文Windows 2000 Server、IBM DB2和Visual Studio.NET Beta 2環(huán)境中編譯并正常運(yùn)行。

【編輯推薦】

  1. C#記憶功能的地址欄控件
  2. 描述C#調(diào)用外部進(jìn)程
  3. C#語(yǔ)言操縱數(shù)據(jù)庫(kù)事務(wù)
  4. 概述C#語(yǔ)言異常處理
  5. 簡(jiǎn)單介紹C#數(shù)組和函數(shù)
責(zé)任編輯:彭凡 來(lái)源: 比特網(wǎng)
相關(guān)推薦

2011-03-03 09:45:25

DB2數(shù)據(jù)庫(kù)Visual C#

2010-11-03 16:32:10

DB2創(chuàng)建數(shù)據(jù)庫(kù)

2009-08-25 17:20:57

C#實(shí)現(xiàn)OLE DB的

2010-07-30 09:22:54

DB2實(shí)現(xiàn)

2011-03-25 14:53:39

DB2數(shù)據(jù)庫(kù)Oracle

2010-08-31 14:24:25

DB2聯(lián)合數(shù)據(jù)庫(kù)

2010-08-17 16:24:32

IBM DB2數(shù)據(jù)庫(kù)

2011-03-11 16:02:03

DB2數(shù)據(jù)庫(kù)安裝

2010-08-04 11:18:09

2010-07-23 08:42:00

TOLLSDBDB2

2010-08-25 10:50:48

DB2數(shù)據(jù)庫(kù)

2010-09-01 13:38:41

DB2數(shù)據(jù)復(fù)制

2010-08-16 13:45:27

安裝DB2數(shù)據(jù)庫(kù)

2010-08-31 17:34:46

DB2

2010-11-01 13:45:16

DB2數(shù)據(jù)庫(kù)的優(yōu)勢(shì)

2009-08-11 13:35:13

C# Berkeley

2010-08-26 16:15:25

DB2數(shù)據(jù)庫(kù)管理

2010-11-01 11:30:41

DB2數(shù)據(jù)庫(kù)權(quán)限

2010-09-30 11:49:21

DB2數(shù)據(jù)庫(kù)權(quán)限

2010-11-03 16:21:18

DB2數(shù)據(jù)庫(kù)授權(quán)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)