DataTableReader 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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) 的非同步版本。
提供者應該覆寫為適當的實作。
您可以選擇性地接受 |
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() 的非同步版本。
提供者應該覆寫為適當的實作。
您可以選擇性地接受 |
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) |