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 相同。 , DataTableReader 如果 DataSet 包含多個資料表,則呼叫 CreateDataReader 物件的 方法 DataSet 會包含多個結果集。 結果的順序與 物件中的 DataTableCollection DataSet 物件相同 DataTable

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

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

建構函式

DataTableReader(DataTable)

使用所提供之 DataTableReader 的資料,初始化 DataTable 類別的新執行個體。

DataTableReader(DataTable[])

使用 DataTableReader 物件所提供的陣列,初始化 DataTable 類別的新執行個體。

屬性

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)呼叫並傳回完成的工作。 如果傳遞一個已經被取消的 cancellationToken,預設實作會傳回已取消的工作。 GetColumnSchema(DbDataReader) 擲回的例外狀況會透過傳回的工作例外狀況屬性來傳送。

(繼承來源 DbDataReader)
GetData(Int32)

傳回所要求資料行的巢狀資料讀取器。

(繼承來源 DbDataReader)
GetDataTypeName(Int32)

取得字串,表示指定之資料行的資料型別。

GetDateTime(Int32)

取得指定之資料行的值做為 DateTime 物件。

GetDbDataReader(Int32)

傳回所要求資料行序數的 DbDataReader 物件,可使用提供者特定的實作 (Implementation) 覆寫。

(繼承來源 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 位元帶正負號的整數 (Signed Integer)。

GetLifetimeService()
已過時。

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetName(Int32)

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

GetOrdinal(String)

提供資料行的名稱,取得資料行序數。

GetProviderSpecificFieldType(Int32)

以提供者專屬格式,取得指定之資料行的型別。

GetProviderSpecificValue(Int32)

以提供者專屬格式,取得指定之資料行的值。

GetProviderSpecificValues(Object[])

DataTableReader 中所有資料行的提供者專屬型別資訊,填入所提供的陣列。

GetSchemaTable()

傳回 DataTable,以描述 DataTableReader 的資料行中繼資料。

GetSchemaTableAsync(CancellationToken)

這是 GetSchemaTable() 的非同步版本。 提供者應該覆寫為適當的實作。 您可以選擇性地接受 cancellationToken。 預設實作會叫用同步GetSchemaTable()呼叫並傳回完成的工作。 如果傳遞一個已經被取消的 cancellationToken,預設實作會傳回已取消的工作。 GetSchemaTable() 擲回的例外狀況會透過傳回的工作例外狀況屬性來傳送。

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

取得指定之資料行的值做為布林值 (Boolean)。

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 位元帶正負號的整數 (Signed Integer)。

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)

設定如何執行從非同步可處置項目傳回的工作 await。

適用於