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

使用ADO.NET設計數據庫應用程序

2013-11-13 10:28:04  來源: .NET編程 

  認識ADO和ADONet
  
  ActiveX Data Object(簡稱ADO)是微軟提供的數據訪問模型依據這個模型可很輕松的操作數據庫同時ADO受到微軟所以開發工具的支持所以無論是VBVCASP開發都可以使用所以開發ASP數據庫應用程序只需在代碼中嵌入SQL(結構化查詢語言)命令用戶就可以很輕松的輸入更新和刪除後台的數據庫記錄當用戶端的浏覽器填好表單所要求輸入的資料並按下Submit(確認)按鈕後經過互聯網內聯網傳送HTTP請求到WEB服務器該請求在WEB服務器執行一個表單所指定的Active Server Pages程序(後綴名為ASP的文檔)
  
  從ADONet不僅僅是ADO的一個簡單升級它是微軟NET戰略的一個重要組成部分那麼到底和以前有什麼不同呢?現在就讓本文來告訴你
  
  以前在ADO中進行數據處理的主要方法是OLEDB現在在ADONet中也是如此但是微軟為了更好地支持目前廣泛使用的兩個數據庫Oracle和SQL Server對OLEDB做了專門的擴展它們分別是OracleClient和SQLClient 類當然由於數據庫產品很多為了便於以前的OLEDB的程序升級故也對OLEDB本身做了升級處理Net中表現為OLEDB類
  
  那麼這三個類——OLEDBOracleClient和SQLClient在編程使用上到底有什麼不同呢?值得慶幸的是在Net中進行數據庫的編程時不管你使用上面提到的個類中的哪一個類個類在語法和用法上都大同小異可以用一通百通來形容
  
  怎樣學習ADONet技術
  
  筆者在學習和使用了ADONet編程後總結出下面個必需的步驟而且這個步驟的順序是絕對不可以調換的如果在以後的編程中發現個步驟的順序換了或缺了一個步驟那麼你的代碼肯定是錯的
  
  使用對應類中的連接方法來連接數據庫如使用SQLClient類那麼就用SqlConnection建立數據庫的鏈接
  
  打開此鏈接
  
  執行對應類中的命令方法來指定要執行的SQL語句如使用SQLClient類就使用SqlCommand執行指定的SQL語句
  
  下面舉出的兩個例子就是在Net中使用ADONet編程的代碼由於SQL Server 在使用中比Oracle簡單所以這裡的數據庫使用Microsoft的SQL Server 原因是它在安裝後無須配置就可以直接使用既然訪問的是SQL Server那麼使用的類當然是SQLClient類這兩個例子是
  
  在數據庫中對數據進行添加刪除修改
  
  利用ADO技術建立一個SQL Server 的數據庫
  
  例 一
  
  啟動SQL Server然後建立一個數據庫和一個表並且在表中一定要有主鍵隨便輸入一些數據完成後保存此表
  
  本文使用的表結構如下
  

 

  表名使用系統默認的表名table
  
  然後打開VSNet建立一個新的工程並從工具箱中將SqlDataAdapter控件拖動到窗口底部隨後數據適配器配置向導窗口會自動運行按照向導提示完成操作(如圖)
  

 

  需要注意的是在出現的生成SQL語句窗口中要輸入標准的select語句在本例中我們將從表Table中返回id和d這兩列所以應該輸入SELECT id d FROM Table語句當然單擊查詢生成器按鈕系統也可以自動生成這條語句
  
  當完成數據適配器配置向導你會在窗口的底部發現系統自動添加了SqlConnection接下來右擊SqlDataAdapter在快捷菜單中選擇生成數據集隨後可以看見生成數據集設置窗口保持默認設置並單擊確定現在又會發現在設計窗口下多了一個Dataset
  
  到此為止就差最後一個控鍵SqlCommand我們只要在工具欄中將它拖放過來並修改其屬性的Connection設置為SqlConnection並在CommandText屬性中利用查詢生成器為其生成select語句即可到現在為止我們就完成了ADONet訪問數據庫的一大半了
  
  網格是顯示數據的最好方法為了讓數據顯示在網格中我們需要添加此控件並且修改其屬性添加的方法就是直接從工具箱中將它拖過來即可不過它的屬性設置倒是很簡單只要將Datasource設置為Datasettable即可table是表示表的名字
  
  最後添加兩行代碼即可完成對數據的添加刪除修改的操作
  
  在Form_Load部分加入Sql DataAdapterFillDataSet ″Table″代碼
  
  Private Sub Form_LoadByVal sender As SystemObject ByVal e As SystemEventArgs Handles MyBaseLoad
  SqlDataAdapterFillDataSet ″Table″將表中的數據添加到DataSet
  End Sub
  
  添加一個Button在Button_Click中加入SqlDataAdapterUpdateDataSet ″Table″代碼
  
  Private Sub Button_ClickByVal sender As SystemObject ByVal e As SystemEventArgs Handles ButtonClick
  SqlDataAdapterUpdateDataSet″Table″ 完成數據庫的添加刪除修改功能
  End Sub
  
  程序說明其中SqlDataAdapterFil語句是把表中具體的數據添入DataSet而SqlDataAdapterUpdate是表示當完成對數據的修改後使用Update進行數據庫的更新使修改的數據生效F運行程序你就可以看見表中的數據都顯示出來了同時你可以隨意對它們進行修改如要刪除數據只要按下鍵盤上的del鍵即可
  
  例一中使用控件的簡單介紹
  

 

  例 二
  
  這裡為了讓大家知道OLEDB和SQLClient在Net中多麼地接近此例子將使用Net中的OLEDB類在這個程序中我們將使用ADONet中的OLEDB類和SQL語句來建立數據庫接著上例添加個命令按鈕不修改任何屬性並再加入如下代碼
  
  Public Class Form
  Inherits SystemWindowsFormsForm
  Private Sub Button_ClickByVal sender As SystemObject ByVal e As SystemEventArgs
  Handles ButtonClick
  Dim con As New OleDbOleDbCon nection″Provider=SQLOLEDBIntegrated
  Security=SSPIPersist Security Info=FalseInitial Catalog=NorthwindData
  Source=Use Procedure for Prepare=Auto Translate=TruePacket
  Size=Workstation ID=JUse En cryption for Data=FalseTag with column collation
  when possible=False″建立與數據庫的連接
  conOpen打開連接
  Dim cmd As New OleDbOleDbCommand″create database jk″ con 創建數據jk
  cmdExecuteNonQuery執行創建命令
  conClose關閉連接
  建立數據庫
  End Sub
  
  程序說明在Button_Click中可以看出連接對象的連接字符串和前面由系統自動生成的連接字符串不同原因是我門要創建的新數據庫jk 還並不存在所以為了使連接數據庫成功並且有足夠的權利來建立jk數據庫就必須通過以SQLServer管理員的身分連接一個SQL Server中已有的數據庫獲得對整個SQL Server的訪問控制權限再建立jk數據庫這裡連接的是Northwind數據庫而後面的的Button_Click直接連接到jk數據庫因為我們要在jk數據庫中建立表
  
  Private Sub Button_ClickByVal sender As SystemObject ByVal e As
  SystemEventArgs Handles ButtonClick
  Dim con As New OleDbOleDbCon nection″Provider=SQLOLEDBIntegrated
  Security=SSPIPersist Security Info=FalseInitial Catalog=jkData Source=Use
  Procedure for Prepare=Auto Trans late=TruePacket Size=Workstation ID=JUse
  Encryption for Data=FalseTag with column collation when possible=False″建立與數據庫的連接
  conOpen打開連接
  Dim cmd As New OleDbOleDbCom mand″create table kkid int identity not
  null constraint id primary keyname char not null″ con建立表kk
  cmdExecuteNonQuery
  Dim cmd As New OleDbOleDbCom mand″create table ppid int not nullads
  char null″ con建立表pp
  cmdExecuteNonQuery執行建立表命令
  conClose關閉連接
  建立個表
  End Sub
  End Class
  
  程序說明程序中Button_Click建立了兩個表kk和pp其中kk包括一個種子列並且設定為主鍵pp是一個一般的表其實通過Button_Click中所用的方法我們還可以建立數據庫中的存儲過程約束等其方法就是將OleDbCommand後的建立表的SQL語句換成存儲過程約束的SQL語句即可由於SQL語句已經超出了本文的范圍所以這裡不做講解
  
  總 結
  
  對於ADONet的編程來說除了要掌握ADONet的技術外還必須掌握數據庫的一些知識本文只是編寫了兩個簡單的數據庫程序其目的是讓大家知道ADONet的編程其實本身並不復雜


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