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

通過ADO.NET訪問數據庫

2013-11-13 12:12:00  來源: .NET編程 
 ADONET訪問數據庫的步驟

  不論從語法來看還是從風格和設計目標來看ADONET都和ADO有顯著的不同在ASP中通過ADO訪問數據庫一般要通過以下四個步驟

   創建一個到數據庫的鏈路即ADOConnection

   查詢一個數據集合即執行SQL產生一個Recordset

   對數據集合進行需要的操作

   關閉數據鏈路

  在ADONET裡這些步驟有很大的變化ADONET的最重要概念之一是DataSetDataSet是不依賴於數據庫的獨立數據集合所謂獨立就是即使斷開數據鏈路或者關閉數據庫DataSet 依然是可用的如果你在ASP裡面使用過非連接記錄集合(Connectionless Recordset)那麼DataSet就是這種技術的最徹底的替代品

  有了DataSet那麼ADONET訪問數據庫的步驟就相應地改變了

   創建一個數據庫鏈路

   請求一個記錄集合

   把記錄集合暫存到DataSet

   如果需要返回第(DataSet可以容納多個數據集合)

   關閉數據庫鏈路

   在DataSet上作所需要的操作

  DataSet在內部是用XML來描述數據的由於XML是一種平台無關語言無關的數據描述語言而且可以描述復雜數據關系的數據比如父子關系的數據所以DataSet實際上可以容納具有復雜關系的數據而且不再依賴於數據庫鏈路


  ADONET對象模型概覽

  1ADOConnection

  ADONET有許多對象我們先看看最基本的也最常用的幾個首先看看ADOConnection和ADO的ADODBConnection對象相對應ADOConnection維護一個到數據庫的鏈路為了使用ADONET 對象我們需要引入兩個NameSpaceSystemData和SystemDataADO使用ASPNET的Import指令就可以了
<%@ Import Namespace=SystemData %>
<%@ Import Namespace=SystemDataADO %>

  和ADO的Connection對象類似ADOConnection對象也有Open和Close兩個方法下面的這個例子展示了如何連接到本地的MS SQL Server上的Pubs數據庫
<%@ Import Namespace=SystemData %>
<%@ Import Namespace=SystemDataADO %>
<%
 設置連接串
 Dim strConnString as String
 strConnString = Provider=SQLOLEDB; Data Source=(local); & _
         Initial Catalog=pubs; User ID=sa
 創建對象ADOConnection
 Dim objConn as ADOConnection
 objConn = New ADOConnection
 設置ADOCOnnection對象的連接串
 objConnConnectionString = strConnString
 objConnOpen() 打開數據鏈路
 數據庫操作代碼省略
 objConnClose()  關閉數據鏈路
 objConn = Nothing 清除對象
%>

  上面的代碼和ADO沒有什麼太大的差別應該提到的是ADONET提供了兩種數據庫連接方式ADO方式和SQL方式這裡我們是通過ADO方式連接到數據庫

  2ADODatasetCommand

  另一個不得不提到的ADONET對象是ADODatasetCommand這個對象專門負責創建我們前面提到的DataSet對象另一個重要的ADONET對象是Dataview它是DataSet的一個視圖還記得DataSet可以容納各種各種關系的復雜數據嗎?通過Dataview我們可以把DataSet的數據限制到某個特定的范圍

  (1)下面的代碼展示了如何利用ADODatasetCommand為DataSet填充數據

 創建SQL字符串
 Dim strSQL as String = SELECT * FROM authors
 創建對象ADODatasetCommand 和Dataset
 Dim objDSCommand as ADODatasetCommand
 Dim objDataset as Dataset = New Dataset
 objDSCommand = New ADODatasetCommand(strSQL objConn)
 填充數據到Dataset
 並將數據集合命名為 Author Information
 objDSCommandFillDataSet(objDataset Author Information)

  (2)顯示Dataset

  前面我們已經把數據准備好下面我們來看看如何顯示Dataset中的數據在ASPNET中顯示DataSet的常用控件是DataGrid它是ASPNET中的一個HTML控件可以很好地表現為一個表格表格的外觀可以任意控制甚至可以分頁顯示這裡我們只需要簡單地使用它
<asp:DataGrid id=DataGridName runat=server/>

  剩下的任務就是把Dataset綁定到這個DataGrid綁定是ASPNET的重要概念一般來說你需要把一個Dataview綁定到DataGrid而不是直接綁定Dataset好在Dataset有一個缺省的Dataview下面我們就把它和DataGrid綁定
  MyFirstDataGridDataSource = _
     objDatasetTables(Author Information)DefaultView
  MyFirstDataGridDataBind()

  完整的代碼(aspx)

<%@ Import Namespace=SystemData %>
<%@ Import Namespace=SystemDataADO %>
<%
 設置連接串
 Dim strConnString as String
 strConnString = Provider=SQLOLEDB; Data Source=(local); & _
         Initial Catalog=pubs; User ID=sa
 創建對象ADOConnection
 Dim objConn as ADOConnection
 objConn = New ADOConnection
 設置ADOCOnnection對象的連接串
 objConnConnectionString = strConnString
 objConnOpen() 打開數據鏈路
 創建SQL字符串
 Dim strSQL as String = SELECT * FROM authors
 創建對象ADODatasetCommand 和Dataset
 Dim objDSCommand as ADODatasetCommand
 Dim objDataset as Dataset = New Dataset
 objDSCommand = New ADODatasetCommand(strSQL objConn)
 填充數據到Dataset
 並將數據集合命名為 Author Information
 objDSCommandFillDataSet(objDataset Author Information)
 objConnClose()  關閉數據鏈路
 objConn = Nothing 清除對象
 AuthorsDataSource = _
     objDatasetTables(Author Information)DefaultView
 AuthorsDataBind()
%>
<HTML>
<BODY>
<asp:DataGrid id=Authors runat=server/>
</BODY>
</HTML>


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