OleDbDataReader 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供從數據源讀取順向數據列數據流的方式。 無法繼承這個類別。
public ref class OleDbDataReader sealed : System::Data::Common::DbDataReader
public ref class OleDbDataReader sealed : MarshalByRefObject, IDisposable, System::Collections::IEnumerable, System::Data::IDataReader
public sealed class OleDbDataReader : System.Data.Common.DbDataReader
public sealed class OleDbDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
type OleDbDataReader = class
inherit DbDataReader
type OleDbDataReader = class
inherit MarshalByRefObject
interface IDataReader
interface IDisposable
interface IDataRecord
interface IEnumerable
Public NotInheritable Class OleDbDataReader
Inherits DbDataReader
Public NotInheritable Class OleDbDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
繼承
繼承
實作
範例
下列範例會建立 OleDbConnection 、OleDbCommand 和 OleDbDataReader 。 此範例會讀取數據,並將其寫出至主控台。 最後,此範例會關閉 OleDbDataReader ,然後關閉 OleDbConnection 。
public static void ReadData(string connectionString, string queryString)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand command = new OleDbCommand(queryString, connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader[0].ToString());
}
reader.Close();
}
}
Public Sub ReadData(ByVal connectionString As String, _
ByVal queryString As String)
Using connection As New OleDbConnection(connectionString)
Dim command As New OleDbCommand(queryString, connection)
connection.Open()
Dim reader As OleDbDataReader = command.ExecuteReader()
While reader.Read()
Console.WriteLine(reader(0).ToString())
End While
reader.Close()
End Using
End Sub
若要建立 OleDbDataReader ,您必須呼叫 OleDbCommand 物件的 ExecuteReader 方法,而不是直接使用建構函式。
關閉 OleDbConnection 之前,請先關閉 OleDbDataReader 物件。 如果您打算重複使用 OleDbCommand 物件,您也必須關閉 OleDbDataReader 物件。例如,在呼叫 Close 之後,您才能擷取輸出參數。
在讀取數據時,對另一個進程或線程對結果集所做的變更,可能會對 OleDbDataReader 的用戶可見。 不過,精確的行為取決於時間。
IsClosed 和 RecordsAffected 是唯一可在關閉 OleDbDataReader 之後呼叫的屬性。 雖然 RecordsAffected 屬性可以在 OleDbDataReader 存在時存取,但一律先呼叫 Close ,再傳回 RecordsAffected 的值,以確保傳回值正確。
屬性
方法
Close()
關閉 OleDbDataReader 物件。
CloseAsync()
以異步方式關閉 DbDataReader 物件。
(繼承來源 DbDataReader )
CreateObjRef(Type)
建立物件,其中包含產生用來與遠端物件通訊之 Proxy 所需的所有相關信息。
(繼承來源 MarshalByRefObject )
Dispose()
釋放目前 DbDataReader 類別實例所使用的所有資源。
(繼承來源 DbDataReader )
Dispose(Boolean)
釋放 DbDataReader 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。
(繼承來源 DbDataReader )
DisposeAsync()
以異步方式釋放目前 DbDataReader 類別實例所使用的所有資源。
(繼承來源 DbDataReader )
Equals(Object)
判斷指定的物件是否等於目前的物件。
(繼承來源 Object )
Finalize()
允許 對象嘗試釋放資源,並在垃圾收集回收之前執行其他清除作業。
GetBoolean(Int32)
取得指定之數據行的值做為布爾值。
GetByte(Int32)
取得指定數據行的值做為位元組。
GetBytes(Int32, Int64, Byte[], Int32, Int32)
從指定的數據行位移讀取位元組數據流到緩衝區,做為從指定緩衝區位移開始的陣列。
GetChar(Int32)
取得指定數據行的值做為字元。
GetChars(Int32, Int64, Char[], Int32, Int32)
從指定的數據行位移讀取字串流到緩衝區,做為從指定緩衝區位移開始的陣列。
GetColumnSchemaAsync(CancellationToken)
這是 GetColumnSchema(DbDataReader) 的異步版本。
提供者應該以適當的實作覆寫。
可以選擇性地接受 cancellationToken
。
默認實作會叫用同步 GetColumnSchema(DbDataReader) 呼叫,並傳回已完成的工作。
如果傳遞已取消的工作,則預設實作會傳回已取消的工作,cancellationToken
。
GetColumnSchema(DbDataReader) 擲回的例外狀況將會透過傳回的工作例外狀況屬性進行通訊。
(繼承來源 DbDataReader )
GetData(Int32)
傳回所要求數據行序數的 OleDbDataReader 物件。
GetDataTypeName(Int32)
取得源數據類型的名稱。
GetDateTime(Int32)
取得指定之數據行的值做為 DateTime 物件。
GetDbDataReader(Int32)
針對可使用提供者特定實作覆寫的要求數據行序數,傳回 DbDataReader 物件。
(繼承來源 DbDataReader )
GetDecimal(Int32)
取得指定之數據行的值做為 Decimal 物件。
GetDouble(Int32)
取得指定數據行的值,做為雙精確度浮點數。
GetEnumerator()
傳回 IEnumerator ,可用來逐一查看數據讀取器中的數據列。
GetFieldType(Int32)
取得對象資料類型的 Type 。
GetFieldValue<T>(Int32)
取得指定數據行的值做為要求的型別。
(繼承來源 DbDataReader )
GetFieldValueAsync<T>(Int32)
以異步方式取得指定數據行的值做為要求的型別。
(繼承來源 DbDataReader )
GetFieldValueAsync<T>(Int32, CancellationToken)
以異步方式取得指定數據行的值做為要求的型別。
(繼承來源 DbDataReader )
GetFloat(Int32)
取得指定數據行的值做為單精度浮點數。
GetGuid(Int32)
取得指定數據行的值,做為全域唯一標識碼 (GUID)。
GetHashCode()
做為預設哈希函式。
(繼承來源 Object )
GetInt16(Int32)
取得指定數據行的值,做為16位帶正負號的整數。
GetInt32(Int32)
取得指定數據行的值,做為32位帶正負號的整數。
GetInt64(Int32)
取得指定數據行的值,做為64位帶正負號的整數。
GetLifetimeService()
已淘汰.
擷取控制這個實例存留期原則的目前存留期服務物件。
(繼承來源 MarshalByRefObject )
GetName(Int32)
取得指定數據行的名稱。
GetOrdinal(String)
取得資料列序數,指定資料行的名稱。
GetProviderSpecificFieldType(Int32)
取得指定之數據行的提供者特定型別。
(繼承來源 DbDataReader )
GetProviderSpecificValue(Int32)
取得指定數據行的值,做為提供者特定型別的實例。
(繼承來源 DbDataReader )
GetProviderSpecificValues(Object[])
取得目前數據列集合中的所有提供者特定屬性數據行。
(繼承來源 DbDataReader )
GetSchemaTable()
傳回描述 OleDbDataReader 之數據行元數據的 DataTable 。
GetSchemaTableAsync(CancellationToken)
這是 GetSchemaTable() 的異步版本。
提供者應該以適當的實作覆寫。
可以選擇性地接受 cancellationToken
。
默認實作會叫用同步 GetSchemaTable() 呼叫,並傳回已完成的工作。
如果傳遞已取消的工作,則預設實作會傳回已取消的工作,cancellationToken
。
GetSchemaTable() 擲回的例外狀況將會透過傳回的工作例外狀況屬性進行通訊。
(繼承來源 DbDataReader )
GetStream(Int32)
取得數據流,以從指定的數據行擷取數據。
(繼承來源 DbDataReader )
GetString(Int32)
取得指定數據行的值做為字串。
GetTextReader(Int32)
取得文字讀取器,以從數據行擷取數據。
(繼承來源 DbDataReader )
GetTimeSpan(Int32)
取得指定之數據行的值做為 TimeSpan 物件。
GetType()
取得目前實例的 Type 。
(繼承來源 Object )
GetValue(Int32)
取得以原生格式指定序數處的數據行值。
GetValues(Object[])
使用目前數據列的數據行值填入 物件的陣列。
InitializeLifetimeService()
已淘汰.
取得存留期服務物件,以控制這個實例的存留期原則。
(繼承來源 MarshalByRefObject )
IsDBNull(Int32)
取得值,這個值表示數據行是否包含不存在或遺漏的值。
IsDBNullAsync(Int32)
以異步方式取得值,指出數據行是否包含不存在或遺漏的值。
(繼承來源 DbDataReader )
IsDBNullAsync(Int32, CancellationToken)
以異步方式取得值,指出數據行是否包含不存在或遺漏的值。
(繼承來源 DbDataReader )
MemberwiseClone()
建立目前 Object 的淺層複本。
(繼承來源 Object )
MemberwiseClone(Boolean)
建立目前 MarshalByRefObject 對象的淺層複本。
(繼承來源 MarshalByRefObject )
NextResult()
讀取批次 SQL 語句的結果時,將數據讀取器前進到下一個結果。
NextResultAsync()
讀取語句批次的結果時,以異步方式將讀取器前進到下一個結果。
(繼承來源 DbDataReader )
NextResultAsync(CancellationToken)
讀取語句批次的結果時,以異步方式將讀取器前進到下一個結果。
(繼承來源 DbDataReader )
Read()
將 OleDbDataReader 前進到下一筆記錄。
ReadAsync()
以異步方式將讀取器前進到結果集中的下一筆記錄。
(繼承來源 DbDataReader )
ReadAsync(CancellationToken)
以異步方式將讀取器前進到結果集中的下一筆記錄。
(繼承來源 DbDataReader )
ToString()
傳回表示目前 物件的字串。
(繼承來源 Object )
明確介面實作
擴充方法
CanGetColumnSchema(DbDataReader)
取得值,這個值表示 DbDataReader 是否可以取得數據行架構。
GetColumnSchema(DbDataReader)
取得 DbDataReader 的數據行架構 (DbColumn 集合)。
GetBoolean(DbDataReader, String)
取得指定之數據行的值做為布爾值。
GetByte(DbDataReader, String)
取得指定數據行的值做為位元組。
GetBytes(DbDataReader, String, Int64, Byte[], Int32, Int32)
從指定索引開始的指定數據行讀取指定的位元組數目,並將其寫入緩衝區中從指定位置開始的緩衝區。
GetChar(DbDataReader, String)
取得指定數據行的值做為單一字元。
GetChars(DbDataReader, String, Int64, Char[], Int32, Int32)
從指定索引開始的指定數據行讀取指定的字元數,並將其寫入從指定位置開始的緩衝區。
GetData(DbDataReader, String)
傳回所要求數據行的巢狀數據讀取器。
GetDataTypeName(DbDataReader, String)
取得指定數據行之數據類型的名稱。
GetDateTime(DbDataReader, String)
取得指定之數據行的值做為 DateTime 物件。
GetDecimal(DbDataReader, String)
取得指定資料列的值做為 Decimal 。
GetDouble(DbDataReader, String)
取得指定數據行的值,做為雙精確度浮點數。
GetFieldType(DbDataReader, String)
取得指定數據行的數據類型。
GetFieldValue<T>(DbDataReader, String)
取得指定數據行的值做為要求的型別。
GetFieldValueAsync<T>(DbDataReader, String, CancellationToken)
以異步方式取得指定數據行的值做為要求的型別。
GetFloat(DbDataReader, String)
取得指定數據行的值做為單精度浮點數。
GetGuid(DbDataReader, String)
取得指定數據行的值,做為全域唯一標識碼 (GUID)。
GetInt16(DbDataReader, String)
取得指定數據行的值,做為16位帶正負號的整數。
GetInt32(DbDataReader, String)
取得指定數據行的值,做為32位帶正負號的整數。
GetInt64(DbDataReader, String)
取得指定數據行的值,做為64位帶正負號的整數。
GetProviderSpecificFieldType(DbDataReader, String)
取得指定之數據行的提供者特定型別。
GetProviderSpecificValue(DbDataReader, String)
取得指定數據行的值,做為提供者特定型別的實例。
GetStream(DbDataReader, String)
取得數據流,以從指定的數據行擷取數據。
GetString(DbDataReader, String)
取得指定數據行的值,做為 String 的實例。
GetTextReader(DbDataReader, String)
取得文字讀取器,以從數據行擷取數據。
GetValue(DbDataReader, String)
取得指定數據行的值,做為 Object 的實例。
IsDBNull(DbDataReader, String)
取得值,這個值表示數據行是否包含不存在或遺漏的值。
IsDBNullAsync(DbDataReader, String, CancellationToken)
以異步方式取得值,指出數據行是否包含不存在或遺漏的值。
Cast<TResult>(IEnumerable)
將 IEnumerable 的項目轉換成指定的型別。
OfType<TResult>(IEnumerable)
根據指定的型別篩選 IEnumerable 的專案。
AsParallel(IEnumerable)
啟用查詢的平行處理。
AsQueryable(IEnumerable)
將 IEnumerable 轉換成 IQueryable 。
ConfigureAwait(IAsyncDisposable, Boolean)
設定如何執行從異步可處置專案傳回的工作等候。
適用於
另請參閱