一ADONET訪問數據庫的步驟
不論從語法來看
還是從風格和設計目標來看
ADO
NET都和ADO有顯著的不同
在ASP中通過ADO訪問數據庫
一般要通過以下四個步驟
創建一個到數據庫的鏈路
即ADO
Connection
查詢一個數據集合
即執行SQL
產生一個Recordset
對數據集合進行需要的操作
關閉數據鏈路
在ADO
NET裡
這些步驟有很大的變化
ADO
NET的最重要概念之一是DataSet
DataSet是不依賴於數據庫的獨立數據集合
所謂獨立
就是
即使斷開數據鏈路
或者關閉數據庫
DataSet 依然是可用的
如果你在ASP裡面使用過非連接記錄集合(Connectionless Recordset)
那麼DataSet就是這種技術的最徹底的替代品
有了DataSet
那麼
ADO
NET訪問數據庫的步驟就相應地改變了
創建一個數據庫鏈路
請求一個記錄集合
把記錄集合暫存到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