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
DataTableReader
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)

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

DataTableReader(DataTable[])

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

Properties

Depth

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

FieldCount

Returns the number of columns in the current row.

HasRows

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

IsClosed

Gets a value that indicates whether the DataTableReader is closed.

Item[Int32]

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

Item[String]

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

RecordsAffected

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

VisibleFieldCount

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

(Inherited from DbDataReader)

Methods

Close()

Closes the current DataTableReader.

CloseAsync()

Asynchronously closes the DbDataReader object.

(Inherited from DbDataReader)
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()

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

(Inherited from DbDataReader)
Dispose(Boolean)

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

(Inherited from DbDataReader)
DisposeAsync()

Asynchronously releases all resources used by the current instance of the DbDataReader class.

(Inherited from DbDataReader)
Equals(Object)

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

(Inherited from Object)
GetBoolean(Int32)

Gets the value of the specified column as a Boolean.

GetByte(Int32)

Gets the value of the specified column as a byte.

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)

Gets the value of the specified column as a character.

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

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

GetColumnSchemaAsync(CancellationToken)

This is the asynchronous version of GetColumnSchema(DbDataReader). Providers should override with an appropriate implementation. The cancellationToken can optionally be honored. The default implementation invokes the synchronous GetColumnSchema(DbDataReader) call and returns a completed task. The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Exceptions thrown by GetColumnSchema(DbDataReader) will be communicated via the returned Task Exception property.

(Inherited from DbDataReader)
GetData(Int32)

Returns a nested data reader for the requested column.

(Inherited from DbDataReader)
GetDataTypeName(Int32)

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

GetDateTime(Int32)

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

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)

Gets the value of the specified column as a Decimal.

GetDouble(Int32)

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

GetEnumerator()

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

GetFieldType(Int32)

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

GetFieldValue<T>(Int32)

Gets the value of the specified column as the requested type.

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

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

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

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

(Inherited from DbDataReader)
GetFloat(Int32)

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

GetGuid(Int32)

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

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetInt16(Int32)

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

GetInt32(Int32)

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

GetInt64(Int32)

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

GetLifetimeService()
Obsolete.

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

(Inherited from MarshalByRefObject)
GetName(Int32)

Gets the value of the specified column as a String.

GetOrdinal(String)

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

GetProviderSpecificFieldType(Int32)

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

GetProviderSpecificValue(Int32)

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

GetProviderSpecificValues(Object[])

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

GetSchemaTable()

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

GetSchemaTableAsync(CancellationToken)

This is the asynchronous version of GetSchemaTable(). Providers should override with an appropriate implementation. The cancellationToken can optionally be honored. The default implementation invokes the synchronous GetSchemaTable() call and returns a completed task. The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Exceptions thrown by GetSchemaTable() will be communicated via the returned Task Exception property.

(Inherited from DbDataReader)
GetStream(Int32)

Gets a stream to retrieve data from the specified column.

(Inherited from DbDataReader)
GetString(Int32)

Gets the value of the specified column as a string.

GetTextReader(Int32)

Gets a text reader to retrieve data from the column.

(Inherited from DbDataReader)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetValue(Int32)

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

GetValues(Object[])

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

InitializeLifetimeService()
Obsolete.

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

(Inherited from MarshalByRefObject)
IsDBNull(Int32)

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

IsDBNullAsync(Int32)

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

(Inherited from DbDataReader)
IsDBNullAsync(Int32, CancellationToken)

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

(Inherited from DbDataReader)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
NextResult()

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

NextResultAsync()

Asynchronously advances the reader to the next result when reading the results of a batch of statements.

(Inherited from DbDataReader)
NextResultAsync(CancellationToken)

Asynchronously advances the reader to the next result when reading the results of a batch of statements.

(Inherited from DbDataReader)
Read()

Advances the DataTableReader to the next record.

ReadAsync()

Asynchronously advances the reader to the next record in a result set.

(Inherited from DbDataReader)
ReadAsync(CancellationToken)

Asynchronously advances the reader to the next record in a result set.

(Inherited from DbDataReader)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

IDataRecord.GetData(Int32)

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

(Inherited from DbDataReader)

Extension Methods

CanGetColumnSchema(DbDataReader)

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

GetColumnSchema(DbDataReader)

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

GetBoolean(DbDataReader, String)

Gets the value of the specified column as a Boolean.

GetByte(DbDataReader, String)

Gets the value of the specified column as a byte.

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

Reads a specified number of bytes from the specified column starting at a specified index and writes them to a buffer starting at a specified position in the buffer.

GetChar(DbDataReader, String)

Gets the value of the specified column as a single character.

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

Reads a specified number of characters from a specified column starting at a specified index, and writes them to a buffer starting at a specified position.

GetData(DbDataReader, String)

Returns a nested data reader for the requested column.

GetDataTypeName(DbDataReader, String)

Gets name of the data type of the specified column.

GetDateTime(DbDataReader, String)

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

GetDecimal(DbDataReader, String)

Gets the value of the specified column as a Decimal.

GetDouble(DbDataReader, String)

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

GetFieldType(DbDataReader, String)

Gets the data type of the specified column.

GetFieldValue<T>(DbDataReader, String)

Gets the value of the specified column as the requested type.

GetFieldValueAsync<T>(DbDataReader, String, CancellationToken)

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

GetFloat(DbDataReader, String)

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

GetGuid(DbDataReader, String)

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

GetInt16(DbDataReader, String)

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

GetInt32(DbDataReader, String)

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

GetInt64(DbDataReader, String)

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

GetProviderSpecificFieldType(DbDataReader, String)

Gets the provider-specific type of the specified column.

GetProviderSpecificValue(DbDataReader, String)

Gets the value of the specified column as an instance of a provider-specific type.

GetStream(DbDataReader, String)

Gets a stream to retrieve data from the specified column.

GetString(DbDataReader, String)

Gets the value of the specified column as an instance of String.

GetTextReader(DbDataReader, String)

Gets a text reader to retrieve data from the column.

GetValue(DbDataReader, String)

Gets the value of the specified column as an instance of Object.

IsDBNull(DbDataReader, String)

Gets a value that indicates whether the column contains nonexistent or missing values.

IsDBNullAsync(DbDataReader, String, CancellationToken)

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

Cast<TResult>(IEnumerable)

Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Enables parallelization of a query.

AsQueryable(IEnumerable)

Converts an IEnumerable to an IQueryable.

ConfigureAwait(IAsyncDisposable, Boolean)

Configures how awaits on the tasks returned from an async disposable are performed.

Applies to