DataReader物件常用屬性和方法

2021-09-06 05:20:32 字數 2914 閱讀 9011

一、datareader物件的常用屬性

datareader物件提供了用順序的、唯讀的方式讀取用command物件獲得的資料結果集。由於 datareader只執行讀操作,並且每次只在記憶體緩衝區裡儲存結果集中的一條資料,所以使用datareader物件的效率比較高,如果要查詢大量資料,同時不需要隨機訪問和修改資料,datareader是優先的選擇。

datareader物件有以下常用屬性:

1、fieldcount屬性:該屬性用來表示由datareader得到的一行資料中的字段數。

2、hasrows屬性:該屬性用來表示datareader是否包含資料。

3、isclosed屬性:該屬性用來表示datareader物件是否關閉。

二、datareader物件的常用方法

同樣,在sql server data provider裡的datareader物件叫sqldatareader,而在ole db data provider裡叫oledbdatareader。

datareader物件使用指標的方式來管理所連線的結果集,它的常用方法有關閉方法、讀取記錄集下一條記錄和讀取下乙個記錄集的方法、讀取記錄集中欄位和記錄的方法,以及判斷記錄集是為空的方法。

同樣,在sql server data provider裡的datareader物件叫sqldatareader,而在ole db data provider裡叫oledbdatareader。

datareader物件使用指標的方式來管理所連線的結果集,它的常用方法有關閉方法、讀取記錄集下一條記錄和讀取下乙個記錄集的方法、讀取記錄集中欄位和記錄的方法,以及判斷記錄集是為空的方法。

1. close方法

close方法不帶引數,無返回值,用來關閉datareader物件。由於datareader在執行 sql命令時一直要保持同資料庫的連線,所以在datareader物件開啟的狀態下,該物件所對應的connection連線物件不能用來執行其他的操作。所以,在使用完datareader物件時,一定要使用close方法關閉該datareader物件,否則不僅會影響到資料庫連線的效率,更會阻止其他物件使用connection連線物件來訪問資料庫。

2. bool read()方法

bool read()方法會讓記錄指標指向本結果集中的下一條記錄,返回值是true或false。當command的executereader方法返回 datareader物件後,須用read方法來獲得第一條記錄;當讀好一條記錄想獲得下一下記錄時,也可以用read方法。如果當前記錄已經是最後一條,呼叫read方法將返回false。也就是說,只要該方法返回true,則可以訪問當前記錄所包含的字段。

3. bool nextresult()方法

bool nextresult()方法會讓記錄指標指向下乙個結果集。當呼叫該方法獲得下乙個結果集後,依然要用read方法來開始訪問該結果集。

4. object getvalue(int i)方法

object getvalue(int i)方法根據傳入的列的索引值,返回當前記錄行裡指定列的值。由於事先無法預知返回列的資料型別,所以該方法使用object型別來接收返回資料。

5. int getvalues (object values)方法

int getvalues (object values)方法會把當前記錄行裡所有的資料儲存到乙個陣列裡並返回。可以使用fieldcount屬性來獲知記錄裡字段的總數,據此定義接收返回值的陣列長度。

6. 獲得指定欄位的方法

獲得指定欄位的方法有getstring、getchar、getint32等,這些方法都帶有乙個表示列索引的引數,返回均是object型別。使用者可以根據欄位的型別,通過輸入列索引,分別呼叫上述方法,獲得指定列的值。

例如,在資料庫裡,id的列索引是0,通過

string id = getstring (0);

**可以獲得id的值。

7. 返回列的資料型別和列名的方法

可以呼叫getdatatypename()方法,通過輸入列索引,獲得該列的型別。這個方法的定義是:

string getdatatypename (int i)

可以呼叫getname()方法,通過輸入列索引,獲得該列的名稱。這個方法的定義是:

string getname (int i)

綜合使用上述兩方法,可以獲得資料表裡列名和列的字段。

8. bool isdbnull(int i)方法:

bool isdbnull(int i)方法的引數用來指定列的索引號,該方法用來判斷指定索引號的列的值是否為空,返回true或false。

datareader物件只能對查詢獲得的資料集進行自上而下的訪問,但效率很高。如果僅僅是訪問資料的話,可以使用datareader。但datareader要求一直連線,所以將結果的一小部分先放在記憶體中,讀完後再從資料庫中讀取一部分,相當於乙個快取機制。這對於查詢結果百萬級的情況來說,帶來的好處是顯而易見的。

datareader物件 其特點:訪問資料速度快.占用資源少.只能顯示資料一條一條的向前讀取.必須顯式地開啟和關閉連線.

屬性:1:filecount       取得欄位的個數

2:hasrows       判斷sqldatareader 是否包含一行或多行記錄

3:isclosed        判斷datareader物件是否關閉狀態

方法:1:read()           返回sqldatareader的第一條.並一條一條的向下讀取

2:getname()      取得欄位的名稱

3:getdatatypename()        取得欄位的資料型別

4:getvalue()      取得欄位的值

5:close ()          關閉datareader物件

6:getordinal()    查詢字段所在位置

7:getvalues ()    把所有查詢記錄資料賦於陣列

8:isnull()           判斷字段是否為null值

XMLHttpRequest物件的常用屬性和方法

xmlhttprequest 物件的三個常用的屬性 1.onreadystatechange 屬性 onreadystatechange 屬性存有處理伺服器響應的函式。下面的 定義乙個空的函式,可同時對 onreadystatechange 屬性進行設定 2.readystate 屬性 readys...

XMLHttpRequest物件的常用屬性與方法

一,open 書上解釋 用於設定請求的目標url請求方法,以及其他引數資訊 個人理解 傳送請求的頁面在不重新整理的情況能將引數傳給乙個伺服器進行處理,這個方法就是將這些個引數傳送過去 引數 1,method 用於指定請求的型別 get 或者 post 2,url 用於請求的位址,可相對可絕對 3,a...

DataReader物件與資料獲取

datareader物件與資料獲取 datareader物件以 基於連線 的方式來訪問資料庫。也就是說,在訪問資料庫 執行sql操作時,datareader要求一直連在資料庫上。這將會給資料庫的連線負載帶來一定的壓力,但datareader物件的工作方式將在很大程度上減輕這種壓力。1 datarea...