詳解ADO.NET連接數據庫使用說明
如果我們利用Command 對象所執行的命令是有傳回數據的Select 敘述,此時Command 對象會自動產生一個DataReader 對象。DataReader 是我們寫ASP.NET 網頁的好朋友,因為我們常常會將數據源的數據取出后顯示給使用者,這時候我們就可以使用DataReader 對象。我們就可以在執行Execute 方法時傳入一個DataReader 型態的變量來接收。
DataReader 對象很單純的一次只讀取一筆紀錄,而且只能只讀,所以效率很好而且可以降低網絡負載。由于Command對象自動會產生DataReader 對象,所以我們只要宣告一個指到DataReader 對象的變量來接收即可,并不需要使用New 運算子來產生;另外要注意的是 DataReader 對象只能配合Command對象使用 ,而且DataReader 對象在操作的時候Connection 對象是保持聯機的狀態。#t#
在取得Command 對象執行Execute 方法所產生的DataReader 對象后,我們就可以將紀錄中的數據取出使用。DataReader 一開始并沒有取回任何數據,所以我們要先使用Read 方法讓DataReader 先讀取一筆數據回來。如果DataReader 對象成功取得數據則傳回True,若沒有取得資料則傳回False。這樣一來我們就可以利用Do While...Loop 循環來取得所有的數據,如下程序所示:
- Dim cmA As ADOCommand= New ADOCommand("命令字符串","Provider=Microsoft.Jet.OLEDB.4.0;"&
- "Data Source=C:\Inetpub\wwwroot\cr\ch05\MyWeb.mdb")
- Dim drA as ADODataReadercmA.ActiveConnection.Open()cmAcmA.CommandText="Select *
- From Members"cmA.Execute(drA)