ASP.NET資料庫編程 (2)

來源:互聯網
上載者:User
asp.net|編程|資料|資料庫   通過ADO.NET訪問資料庫

  不論從文法來看,還是從風格和設計目標來看,ADO.NET都和ADO有顯著的不同。在ASP中通過ADO訪問資料庫,一般要通過以下四個步驟:

  1、 建立一個到資料庫的鏈路,即ADO.Connection;

  2、 查詢一個資料集合,即執行SQL,產生一個Recordset;

  3、 對資料集合進行需要的操作;

  4、 關閉資料鏈路。

  在ADO.NET裡,這些步驟有很大的變化。ADO.NET的最重要概念之一是DataSet。DataSet是不依賴於資料庫的獨立資料集合。所謂獨立,就是:即使斷開資料鏈路,或者關閉資料庫,DataSet依然是可用的。如果你在ASP裡面使用過非串連記錄集合(Connectionless Recordset),那麼DataSet就是這種技術的最徹底的替代品。
有了DataSet,那麼,ADO.NET訪問資料庫的步驟就相應地改變了:

  1、建立一個資料庫鏈路;

  2、請求一個記錄集合;

  3、把記錄集合暫存到DataSet;

  4、如果需要,返回第2步;(DataSet可以容納多個資料集合)

  5、關閉資料庫鏈路;

  6、在DataSet上作所需要的操作。

  DataSet在內部是用XML來描述資料的。由於XML是一種平台無關、語言無關的資料描述語言 (Data Description Language),而且可以描述複雜資料關係的資料,比如父子關係的資料,所以DataSet實際上可以容納具有複雜關係的資料,而且不再依賴於資料庫鏈路。

  ADO.NET有許多個物件,我們先看看最基本的也最常用的幾個。首先看看ADOConnection。和ADO的ADODB.Connection對象相對應,ADOConnection維護一個到資料庫的鏈路。為了使用ADO.NET對象,我們需要引入兩個NameSpace:System.Data和System.Data.ADO,使用ASP.NET的Import指令就可以了:

  <%@ Import Namespace="System.Data" %> 

  <%@ Import Namespace="System.Data.ADO" %> 

和ADO的Connection對象類似,ADOConnection對象也有Open和Close兩個方法。下面的這個例子展示了如何串連到本地的MS SQL Server上的Pubs資料庫。

<%@ Import Namespace="System.Data" %> 
<%@ Import Namespace="System.Data.ADO" %> 
<%
'設定串連串...
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對象的串連串
objConn.ConnectionString = strConnString

objConn.Open() '開啟資料鏈路

'資料庫作業碼省略

objConn.Close() '關閉資料鏈路
objConn = Nothing '清除對象
%> 


上面的代碼和ADO沒有什麼太大的差別。應該提到的是,ADO.NET提供了兩種資料庫連接方式:ADO方式和SQL方式。這裡我們是通過ADO方式串連到資料庫。關於建立資料庫連接的詳細資料,我們在後面的篇幅中將會講到。

  ADODatasetCommand

  另一個不得不提到的ADO.NET對象是ADODatasetCommand,這個對象專門負責建立我們前面提到的DataSet對象。另一個重要的ADO.NET對象是Dataview,它是DataSet的一個視圖。還記得DataSet可以容納各種各種關係的複雜資料嗎?通過Dataview,我們可以把DataSet的資料限制到某個特定的範圍。

  下面的代碼展示了如何利用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"
objDSCommand.FillDataSet(objDataset, "Author Information


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。