共用方式為


OleDbDataReader 類別

定義

提供從數據源讀取順向數據列數據流的方式。 無法繼承這個類別。

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
繼承
繼承
OleDbDataReader
實作

範例

下列範例會建立 OleDbConnectionOleDbCommandOleDbDataReader。 此範例會讀取數據,並將其寫出至主控台。 最後,此範例會關閉 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的用戶可見。 不過,精確的行為取決於時間。

IsClosedRecordsAffected 是唯一可在關閉 OleDbDataReader 之後呼叫的屬性。 雖然 RecordsAffected 屬性可以在 OleDbDataReader 存在時存取,但一律先呼叫 Close,再傳回 RecordsAffected 的值,以確保傳回值正確。

屬性

Depth

取得值,這個值表示目前數據列的巢狀深度。

FieldCount

取得目前數據列中的數據行數目。

HasRows

取得值,這個值表示 OleDbDataReader 是否包含一或多個數據列。

IsClosed

指出數據讀取器是否已關閉。

Item[Int32]

取得指定資料行的原生格式,指定資料行序數的值。

Item[String]

取得指定數據行名稱的原生格式指定數據行的值。

RecordsAffected

取得執行 SQL 語句所變更、插入或刪除的數據列數目。

VisibleFieldCount

取得 OleDbDataReader 中未隱藏的欄位數目。

方法

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) 呼叫,並傳回已完成的工作。 如果傳遞已取消的工作,則預設實作會傳回已取消的工作,cancellationTokenGetColumnSchema(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() 呼叫,並傳回已完成的工作。 如果傳遞已取消的工作,則預設實作會傳回已取消的工作,cancellationTokenGetSchemaTable() 擲回的例外狀況將會透過傳回的工作例外狀況屬性進行通訊。

(繼承來源 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)

明確介面實作

IDataRecord.GetData(Int32)

傳回指定之數據行序數的 IDataReader

IDataRecord.GetData(Int32)

如需此成員的描述,請參閱 GetData(Int32)

(繼承來源 DbDataReader)
IDisposable.Dispose()

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

釋放目前 OleDbDataReader 類別實例所使用的資源。

IEnumerable.GetEnumerator()

傳回逐一查看集合的列舉值。

擴充方法

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)

設定如何執行從異步可處置專案傳回的工作等候。

適用於

另請參閱