DataTableReader DataTableReader DataTableReader DataTableReader Class

Definition

The DataTableReader obtains the contents of one or more DataTable objects in the form of one or more read-only, forward-only result sets.

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
Inheritance

Remarks

The DataTableReader works much like any other data reader, such as the SqlDataReader, except that the DataTableReader provides for iterating over rows in a DataTable. In other words, it provides for iterating over rows in a cache. The cached data can be modified while the DataTableReader is active, and the reader automatically maintains its position.

When you create a DataTableReader from a DataTable, the resulting DataTableReader object contains one result set with the same data as the DataTable from which it was created, except for any rows that have been marked as deleted. The columns appear in the same order as in the original DataTable. The structure of the returned result is identical in schema and data to the original DataTable. A DataTableReader that was created by calling the CreateDataReader method of a DataSet object contains multiple result sets if the DataSet contains more than one table. The results are in the same sequence as the DataTable objects in the DataTableCollection of the DataSet object.

The returned result set contains only the current version of each DataRow; rows that are marked for deletion are skipped.

The DataTableReader provides a stable iterator; that is, the contents of the DataTableReader are not invalidated if the size of the underlying collection is modified during iteration. For example, if one or more rows in the Rows collection are deleted or removed during iteration, the current position within the DataTableReader is maintained appropriately and it does not invalidate the iterator.

Constructors

DataTableReader(DataTable) DataTableReader(DataTable) DataTableReader(DataTable) DataTableReader(DataTable)

Initializes a new instance of the DataTableReader class by using data from the supplied DataTable.

DataTableReader(DataTable[]) DataTableReader(DataTable[]) DataTableReader(DataTable[]) DataTableReader(DataTable[])

Initializes a new instance of the DataTableReader class using the supplied array of DataTable objects.

Properties

Depth Depth Depth Depth

The depth of nesting for the current row of the DataTableReader.

FieldCount FieldCount FieldCount FieldCount

Returns the number of columns in the current row.

HasRows HasRows HasRows HasRows

Gets a value that indicates whether the DataTableReader contains one or more rows.

IsClosed IsClosed IsClosed IsClosed

Gets a value that indicates whether the DataTableReader is closed.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Gets the value of the specified column in its native format given the column ordinal.

Item[String] Item[String] Item[String] Item[String]

Gets the value of the specified column in its native format given the column name.

RecordsAffected RecordsAffected RecordsAffected RecordsAffected

Gets the number of rows inserted, changed, or deleted by execution of the SQL statement.

VisibleFieldCount VisibleFieldCount VisibleFieldCount VisibleFieldCount

Gets the number of fields in the DbDataReader that are not hidden.

(Inherited from DbDataReader)

Methods

Close() Close() Close() Close()

Closes the current DataTableReader.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Releases all resources used by the current instance of the DbDataReader class.

(Inherited from DbDataReader)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Releases the managed resources used by the DbDataReader and optionally releases the unmanaged resources.

(Inherited from DbDataReader)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBoolean(Int32) GetBoolean(Int32) GetBoolean(Int32) GetBoolean(Int32)

Gets the value of the specified column as a Boolean.

GetByte(Int32) GetByte(Int32) GetByte(Int32) GetByte(Int32)

Gets the value of the specified column as a byte.

GetBytes(Int32, Int64, Byte[], Int32, Int32) GetBytes(Int32, Int64, Byte[], Int32, Int32) GetBytes(Int32, Int64, Byte[], Int32, Int32) GetBytes(Int32, Int64, Byte[], Int32, Int32)

Reads a stream of bytes starting at the specified column offset into the buffer as an array starting at the specified buffer offset.

GetChar(Int32) GetChar(Int32) GetChar(Int32) GetChar(Int32)

Gets the value of the specified column as a character.

GetChars(Int32, Int64, Char[], Int32, Int32) GetChars(Int32, Int64, Char[], Int32, Int32) GetChars(Int32, Int64, Char[], Int32, Int32) GetChars(Int32, Int64, Char[], Int32, Int32)

Returns the value of the specified column as a character array.

GetData(Int32) GetData(Int32) GetData(Int32) GetData(Int32)

Returns a DbDataReader object for the requested column ordinal.

(Inherited from DbDataReader)
GetDataTypeName(Int32) GetDataTypeName(Int32) GetDataTypeName(Int32) GetDataTypeName(Int32)

Gets a string representing the data type of the specified column.

GetDateTime(Int32) GetDateTime(Int32) GetDateTime(Int32) GetDateTime(Int32)

Gets the value of the specified column as a DateTime object.

GetDbDataReader(Int32) GetDbDataReader(Int32) GetDbDataReader(Int32) GetDbDataReader(Int32)

Returns a DbDataReader object for the requested column ordinal that can be overridden with a provider-specific implementation.

(Inherited from DbDataReader)
GetDecimal(Int32) GetDecimal(Int32) GetDecimal(Int32) GetDecimal(Int32)

Gets the value of the specified column as a Decimal.

GetDouble(Int32) GetDouble(Int32) GetDouble(Int32) GetDouble(Int32)

Gets the value of the column as a double-precision floating point number.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Returns an enumerator that can be used to iterate through the item collection.

GetFieldType(Int32) GetFieldType(Int32) GetFieldType(Int32) GetFieldType(Int32)

Gets the Type that is the data type of the object.

GetFieldValue<T>(Int32) GetFieldValue<T>(Int32) GetFieldValue<T>(Int32) GetFieldValue<T>(Int32)

Synchronously gets the value of the specified column as a type.

(Inherited from DbDataReader)
GetFieldValueAsync<T>(Int32) GetFieldValueAsync<T>(Int32) GetFieldValueAsync<T>(Int32) GetFieldValueAsync<T>(Int32)

Asynchronously gets the value of the specified column as a type.

(Inherited from DbDataReader)
GetFieldValueAsync<T>(Int32, CancellationToken) GetFieldValueAsync<T>(Int32, CancellationToken) GetFieldValueAsync<T>(Int32, CancellationToken) GetFieldValueAsync<T>(Int32, CancellationToken)

Asynchronously gets the value of the specified column as a type.

(Inherited from DbDataReader)
GetFloat(Int32) GetFloat(Int32) GetFloat(Int32) GetFloat(Int32)

Gets the value of the specified column as a single-precision floating point number.

GetGuid(Int32) GetGuid(Int32) GetGuid(Int32) GetGuid(Int32)

Gets the value of the specified column as a globally-unique identifier (GUID).

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetInt16(Int32) GetInt16(Int32) GetInt16(Int32) GetInt16(Int32)

Gets the value of the specified column as a 16-bit signed integer.

GetInt32(Int32) GetInt32(Int32) GetInt32(Int32) GetInt32(Int32)

Gets the value of the specified column as a 32-bit signed integer.

GetInt64(Int32) GetInt64(Int32) GetInt64(Int32) GetInt64(Int32)

Gets the value of the specified column as a 64-bit signed integer.

GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetName(Int32) GetName(Int32) GetName(Int32) GetName(Int32)

Gets the value of the specified column as a String.

GetOrdinal(String) GetOrdinal(String) GetOrdinal(String) GetOrdinal(String)

Gets the column ordinal, given the name of the column.

GetProviderSpecificFieldType(Int32) GetProviderSpecificFieldType(Int32) GetProviderSpecificFieldType(Int32) GetProviderSpecificFieldType(Int32)

Gets the type of the specified column in provider-specific format.

GetProviderSpecificValue(Int32) GetProviderSpecificValue(Int32) GetProviderSpecificValue(Int32) GetProviderSpecificValue(Int32)

Gets the value of the specified column in provider-specific format.

GetProviderSpecificValues(Object[]) GetProviderSpecificValues(Object[]) GetProviderSpecificValues(Object[]) GetProviderSpecificValues(Object[])

Fills the supplied array with provider-specific type information for all the columns in the DataTableReader.

GetSchemaTable() GetSchemaTable() GetSchemaTable() GetSchemaTable()

Returns a DataTable that describes the column metadata of the DataTableReader.

GetStream(Int32) GetStream(Int32) GetStream(Int32) GetStream(Int32)

Retrieves data as a Stream.

(Inherited from DbDataReader)
GetString(Int32) GetString(Int32) GetString(Int32) GetString(Int32)

Gets the value of the specified column as a string.

GetTextReader(Int32) GetTextReader(Int32) GetTextReader(Int32) GetTextReader(Int32)

Retrieves data as a TextReader.

(Inherited from DbDataReader)
GetType() GetType() GetType() GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetValue(Int32) GetValue(Int32) GetValue(Int32) GetValue(Int32)

Gets the value of the specified column in its native format.

GetValues(Object[]) GetValues(Object[]) GetValues(Object[]) GetValues(Object[])

Populates an array of objects with the column values of the current row.

InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
IsDBNull(Int32) IsDBNull(Int32) IsDBNull(Int32) IsDBNull(Int32)

Gets a value that indicates whether the column contains non-existent or missing values.

IsDBNullAsync(Int32) IsDBNullAsync(Int32) IsDBNullAsync(Int32) IsDBNullAsync(Int32)

An asynchronous version of IsDBNull(Int32), which gets a value that indicates whether the column contains non-existent or missing values.

(Inherited from DbDataReader)
IsDBNullAsync(Int32, CancellationToken) IsDBNullAsync(Int32, CancellationToken) IsDBNullAsync(Int32, CancellationToken) IsDBNullAsync(Int32, CancellationToken)

An asynchronous version of IsDBNull(Int32), which gets a value that indicates whether the column contains non-existent or missing values. Optionally, sends a notification that operations should be cancelled.

(Inherited from DbDataReader)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
NextResult() NextResult() NextResult() NextResult()

Advances the DataTableReader to the next result set, if any.

NextResultAsync() NextResultAsync() NextResultAsync() NextResultAsync()

An asynchronous version of NextResult(), which advances the reader to the next result when reading the results of a batch of statements.

Invokes NextResultAsync(CancellationToken) with CancellationToken.None.

(Inherited from DbDataReader)
NextResultAsync(CancellationToken) NextResultAsync(CancellationToken) NextResultAsync(CancellationToken) NextResultAsync(CancellationToken)

This is the asynchronous version of NextResult(). Providers should override with an appropriate implementation. The cancellationToken may optionally be ignored.

The default implementation invokes the synchronous NextResult() method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Exceptions thrown by NextResult() will be communicated via the returned Task Exception property.

Other methods and properties of the DbDataReader object should not be invoked while the returned Task is not yet completed.

(Inherited from DbDataReader)
Read() Read() Read() Read()

Advances the DataTableReader to the next record.

ReadAsync() ReadAsync() ReadAsync() ReadAsync()

An asynchronous version of Read(), which advances the reader to the next record in a result set. This method invokes ReadAsync(CancellationToken) with CancellationToken.None.

(Inherited from DbDataReader)
ReadAsync(CancellationToken) ReadAsync(CancellationToken) ReadAsync(CancellationToken) ReadAsync(CancellationToken)

This is the asynchronous version of Read(). Providers should override with an appropriate implementation. The cancellationToken may optionally be ignored.

The default implementation invokes the synchronous Read() method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Exceptions thrown by Read will be communicated via the returned Task Exception property.

Do not invoke other methods and properties of the DbDataReader object until the returned Task is complete.

(Inherited from DbDataReader)
ToString() ToString() ToString() ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

IDataReader.Close() IDataReader.Close() IDataReader.Close() IDataReader.Close() Inherited from DbDataReader
IDataReader.GetSchemaTable() IDataReader.GetSchemaTable() IDataReader.GetSchemaTable() IDataReader.GetSchemaTable() Inherited from DbDataReader
IDataRecord.GetData(Int32) IDataRecord.GetData(Int32) IDataRecord.GetData(Int32) IDataRecord.GetData(Int32)

For a description of this member, see GetData(Int32).

(Inherited from DbDataReader)

Extension Methods

CanGetColumnSchema(DbDataReader) CanGetColumnSchema(DbDataReader) CanGetColumnSchema(DbDataReader) CanGetColumnSchema(DbDataReader)

Gets a value that indicates whether a DbDataReader can get a column schema.

GetColumnSchema(DbDataReader) GetColumnSchema(DbDataReader) GetColumnSchema(DbDataReader) GetColumnSchema(DbDataReader)

Gets the column schema (DbColumn collection) for a DbDataReader.

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Converts an IEnumerable to an IQueryable.

Applies to