與前面學習的資料提供程式中的其他元件不同,datareader物件不能直接例項化,需要呼叫command物件的executereader()方法的返回值。
使用datareader物件讀取資料的步驟如下:
(1)建立資料庫鏈結connection物件,可以選sqlconnection或者oledbconnection。
(2)使用connection物件的open方法開啟資料庫鏈結。
(3)建立command物件,將查詢儲存在sqlcommand或者oledbcommand物件中。
(4)呼叫command物件的executereader()方法,將資料讀入datareader物件中。
sqldatareader reader=comm.executereader();
其中comm為command物件。
注意:要使用sqldatareader,必須呼叫sqlcommand物件的executereader()方法來建立,而不要直接使用建構函式。
(5)呼叫datareader物件的read()方法逐行讀取資料。
此方法返回乙個布林值,如果讀到一行記錄,返回true,否則返回false。
(6)讀取當前行的某列資料。讀取資料有兩種方法,一種是使用getvalue(i)方法獲取值,引數「i」為列的索引,得到的值是object型別,必須進行資料型別轉換。示例如下:
string str=reader.getvalue(1).tostring();
其中getvalue(1)中的引數「1」表示第二列。也可以使用類似索引器的方式訪問資料,語法為:
(資料型別)datareader [i];或(資料型別)["列名"];
這種方法返回的值也是object型別,需要進行拆箱操作,轉換資料型別。
(7)關閉datareader物件,呼叫該物件的close()方法,**如下:
reader.close();
(8)呼叫connection物件的close方法,關閉資料序鏈結。
14 11讀取資料庫 DataReader 1
using system.data.sqlclient 引用命名空間 namespace 14 11讀取資料庫 datareader 1 using system.data.sqlclient 引用命名空間 namespace 14 11讀取資料庫 datareader 1 else console...
Web 下dataReader的迴圈讀取
dim sqlword as string select top 7 from news where focusnews true order by newsid desc dim mycmdword as oledb mand new oledb mand sqlword,myconn dim m...
抉擇 是用DataReader還是DataSet
ado.net提供了兩個主要的類來讀取資料。通過本文我們可以學習如何在兩者之間進行選擇。我 經常聽到有人問這個問題 在asp.net web應用程式中我應該用datareader類還是dataset類呢?在很多文章以及新聞組的貼子中 我經常看到這樣的誤解,即認為datareader sqldatar...