共用方式為


DataTableReader 類別

定義

DataTableReader 會以一或多個唯讀、正向結果集的形式取得一或多個 DataTable 對象的內容。

public ref class DataTableReader sealed : System::Data::Common::DbDataReader
public sealed class DataTableReader : System.Data.Common.DbDataReader
type DataTableReader = class
    inherit DbDataReader
Public NotInheritable Class DataTableReader
Inherits DbDataReader
繼承

備註

DataTableReader 的運作方式非常類似任何其他數據讀取器,例如 SqlDataReader,不同之處在於 DataTableReader 提供逐一查看 DataTable中的數據列。 換句話說,它提供逐一查看快取中的數據列。 當 DataTableReader 為使用中時,可以修改快取的數據,而且讀取器會自動維護其位置。

當您從 DataTable建立 DataTableReader 時,產生的 DataTableReader 物件會包含一個結果集,其數據與建立來源 DataTable 相同,但已標示為已刪除的任何數據列除外。 數據行會以與原始 DataTable相同的順序顯示。 傳回結果的結構在架構和數據中與原始 DataTable相同。 呼叫 DataSet 物件的 CreateDataReader 方法所建立的 DataTableReader,如果 DataSet 包含多個數據表,就會包含多個結果集。 結果的順序與 DataSet 物件 DataTableCollection 中的 DataTable 對象順序相同。

傳回的結果集只包含每個 DataRow的目前版本;系統會略過標示要刪除的數據列。

DataTableReader 提供穩定的反覆運算器;也就是說,如果反覆項目期間修改基礎集合的大小,則 DataTableReader 的內容不會失效。 例如,如果在反覆項目期間刪除或移除 Rows 集合中的一或多個數據列,則會適當地維護 DataTableReader 內的目前位置,而且不會使反覆運算器失效。

建構函式

DataTableReader(DataTable)

使用所提供 DataTable中的數據,初始化 DataTableReader 類別的新實例。

DataTableReader(DataTable[])

使用提供的 DataTable 物件陣列,初始化 DataTableReader 類別的新實例。

屬性

Depth

DataTableReader目前數據列的巢狀深度。

FieldCount

傳回目前數據列中的數據行數目。

HasRows

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

IsClosed

取得值,這個值表示是否關閉 DataTableReader

Item[Int32]

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

Item[String]

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

RecordsAffected

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

VisibleFieldCount

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

(繼承來源 DbDataReader)

方法

Close()

關閉目前的 DataTableReader

CloseAsync()

以異步方式關閉 DbDataReader 物件。

(繼承來源 DbDataReader)
CreateObjRef(Type)

建立物件,其中包含產生用來與遠端物件通訊之 Proxy 所需的所有相關信息。

(繼承來源 MarshalByRefObject)
Dispose()

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

(繼承來源 DbDataReader)
Dispose(Boolean)

釋放 DbDataReader 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 DbDataReader)
DisposeAsync()

以異步方式釋放目前 DbDataReader 類別實例所使用的所有資源。

(繼承來源 DbDataReader)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetBoolean(Int32)

取得指定資料列的值做為 Boolean

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)

傳回所要求數據行的巢狀數據讀取器。

(繼承來源 DbDataReader)
GetDataTypeName(Int32)

取得字串,表示指定之數據行的數據類型。

GetDateTime(Int32)

取得指定之數據行的值做為 DateTime 物件。

GetDbDataReader(Int32)

針對可使用提供者特定實作覆寫的要求數據行序數,傳回 DbDataReader 物件。

(繼承來源 DbDataReader)
GetDecimal(Int32)

取得指定資料列的值做為 Decimal

GetDouble(Int32)

取得數據行的值做為雙精確度浮點數。

GetEnumerator()

傳回可用來逐一查看專案集合的列舉值。

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)

取得指定資料列的值做為 String

GetOrdinal(String)

取得資料列序數,指定資料行的名稱。

GetProviderSpecificFieldType(Int32)

取得指定數據行的型別,格式為提供者特定。

GetProviderSpecificValue(Int32)

取得提供者特定格式之指定數據行的值。

GetProviderSpecificValues(Object[])

針對 DataTableReader中的所有資料行,以提供者特定的類型資訊填入提供的陣列。

GetSchemaTable()

傳回描述 DataTableReader之數據行元數據的 DataTable

GetSchemaTableAsync(CancellationToken)

這是 GetSchemaTable()的異步版本。 提供者應該以適當的實作覆寫。 可以選擇性地接受 cancellationToken。 默認實作會叫用同步 GetSchemaTable() 呼叫,並傳回已完成的工作。 如果傳遞已取消的工作,則預設實作會傳回已取消的工作,cancellationTokenGetSchemaTable() 擲回的例外狀況將會透過傳回的工作例外狀況屬性進行通訊。

(繼承來源 DbDataReader)
GetStream(Int32)

取得數據流,以從指定的數據行擷取數據。

(繼承來源 DbDataReader)
GetString(Int32)

取得指定數據行的值做為字串。

GetTextReader(Int32)

取得文字讀取器,以從數據行擷取數據。

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

如果有任何結果集,請將 DataTableReader 前進到下一個結果集。

NextResultAsync()

讀取語句批次的結果時,以異步方式將讀取器前進到下一個結果。

(繼承來源 DbDataReader)
NextResultAsync(CancellationToken)

讀取語句批次的結果時,以異步方式將讀取器前進到下一個結果。

(繼承來源 DbDataReader)
Read()

DataTableReader 前進到下一筆記錄。

ReadAsync()

以異步方式將讀取器前進到結果集中的下一筆記錄。

(繼承來源 DbDataReader)
ReadAsync(CancellationToken)

以異步方式將讀取器前進到結果集中的下一筆記錄。

(繼承來源 DbDataReader)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

明確介面實作

IDataRecord.GetData(Int32)

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

(繼承來源 DbDataReader)

擴充方法

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)

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

適用於