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 任何其他数据读取器(如 the SqlDataReader)的工作方式非常类似,但 DataTableReader 提供对行进行 DataTable迭代。 换句话说,它提供循环访问缓存中的行。 当缓存数据处于活动状态时 DataTableReader ,可以修改缓存的数据,并且读取器会自动维护其位置。

从某个DataTableReaderDataTable对象创建时,生成的DataTableReader对象包含一个结果集,其数据与创建时的数据DataTable相同,但标记为已删除的任何行除外。 列以与原始 DataTable列相同的顺序显示。 返回结果的结构在架构和数据中与原始 DataTable结果相同。 通过调用CreateDataReader对象的方法创建的一个DataTableReaderDataSet对象包含多个结果集(如果DataSet包含多个表)。 结果与对象中的DataTableCollectionDataSet对象的顺序相同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)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
Dispose()

释放 DbDataReader 类的当前实例所使用的所有资源。

(继承自 DbDataReader)
Dispose(Boolean)

释放由 DbDataReader 占用的非托管资源,还可以另外再释放托管资源。

(继承自 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 对象,可以使用提供程序特定的实现对该对象进行重写。

(继承自 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()

返回一个 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)

获取指定列的布尔值形式的值。

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)

配置如何执行从异步可处置项返回的任务的等待。

适用于