熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Visual C#實現DB2數據庫的編程例子

2013-11-13 09:57:50  來源: .NET編程 

  在Visual StudioNET Beta 版本中訪問IBM DB等非SQL Server數據庫通常是使用ADONET的ODBC方法而在Beta 中則改用OLE DB方式存取數據庫
 
  Beta中連接字符串主要需聲明數據庫的ODBC的DNS名字但Beta 中的OLE DB連接的字符串就較復雜了使用的類也不相同由於DB等數據庫在大型機等應用中使用非常廣泛NET自然會全力支持此類編程開發為此下文將逐步闡述OLE DB的DB開發

  OLE DB for DB驅動

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

  設置數據庫連接

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

  Data Source: QCDB(請酌情修改) NetworkTCP/IP IP Address數據庫服務器地址 Network PortDB服務端口 Username數據庫訪問權限的用戶名 Password該用戶口令 Database initial CatalogQCDB Package collectionQCDB default schemaUserid

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

  假設QCDB這個DB數據庫中有一名為address的新數據表其包含四個字段nameemailage和address我們可用服務器資源管理器打開上述連接及該數據表可輸入數條中文記錄確定中文字符能否正常顯示 

  為項目增加數據庫連接

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

  thisoleDbConnectionConnectionString = @Provider=DBOLEDB; Cache Authentication=False; Integrated Security=; Password=freebsd; 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=;PC Code Page=; Network Address=; Network Port=;Package Collection=qcdb; Default Schema=userid;Alternate TP Name=; Process Binary as Character=False; Units of Work=RUW

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

  Web Form顯示數據庫數據

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

  oleDbConnectionOpen(); //打開數據庫連接 oleDbDataAdapterFill(dataSetAddress); //將得來的數據填入dataSet DataGridDataBind(); //綁定數據 oleDbConnectionClose(); //關閉連接

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

  增加數據庫數據

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

  thisoleDbInsertCommandCommandText = INSERT INTO ADDRESS(NAME EMAIL AGE ADDRESS)
VALUES (+TextBoxText++TextBoxText+ +TextBoxText++TextBoxText+); oleDbInsertCommandConnectionOpen(); //打開連接 oleDbInsertCommandExecuteNonQuery(); //執行該SQL語句 oleDbInsertCommandConnectionClose(); //關閉連接

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

  刪除數據庫數據

  在Web Form上新增一個TextBox及一個按鍵要執行刪除時在TextBox中填入要刪除記錄的name字段的值然後按該按鍵執行刪除該按鍵代碼如下

  SystemDataOleDbOleDbCommand oleDeleteCommand new SystemDataOleDbOleDbCommand(); thisoleDbDataAdapterDeleteCommand = oleDeleteCommand; //聲明為oleDb命令 oleDeleteCommandCommandText =DELETE FROM ADDRESS WHERE NAME=+TextBoxText+; oleDeleteCommandConnection = thisoleDbConnection; //指明連接 oleDeleteCommandConnectionOpen(); //打開連接 oleDeleteCommandExecuteNonQuery(); //執行SQL語句 oleDeleteCommandConnectionClose(); //關閉連接

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

  上述代碼可供各種非SQL Server數據庫編程參考和使用微軟為此提供了如OLE DB Provider for OracleAS/和VSAM等眾多驅動OLE DB方式確實提供了較ODBC方式更為廣泛的數據存取范圍如可存取Access庫中的數據郵件系統中的數據Web上的文本及圖形目錄服務等等符合ODBC標准的數據源就是符合OLE DB標准的數據存儲的子集而且OLE DB的API是符合COM標准和基於對象的API這些都是較原ODBC方式有大幅改進從而為綜合的數據集成處理提供了更廣泛的支持
 
  通過以上講解筆者希望使讀者初步了解在Visual StudioNET中以DB為後台數據庫時應用系統的開發步驟也希望讀者舉一反三領會思想和方法以便更好地應用到自己的系統開發中
 
  上述程序在中文Windows ServerIBM DB和Visual StudioNET Beta 環境中編譯並正常運行


From:http://tw.wingwit.com/Article/program/net/201311/12130.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.