OleDbDataReader 类

定义

提供从数据源读取仅向前数据流数据行的方法。 无法继承此类。

public ref class OleDbDataReader sealed : System::Data::Common::DbDataReader
public ref class OleDbDataReader sealed : MarshalByRefObject, IDisposable, System::Collections::IEnumerable, System::Data::IDataReader
public sealed class OleDbDataReader : System.Data.Common.DbDataReader
public sealed class OleDbDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
type OleDbDataReader = class
    inherit DbDataReader
type OleDbDataReader = class
    inherit MarshalByRefObject
    interface IDataReader
    interface IDisposable
    interface IDataRecord
    interface IEnumerable
Public NotInheritable Class OleDbDataReader
Inherits DbDataReader
Public NotInheritable Class OleDbDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
继承
继承
OleDbDataReader
实现

示例

以下示例创建 OleDbConnectionOleDbCommandOleDbDataReader。 该示例读取数据,并将其写出到控制台。 最后,该示例关闭 OleDbDataReader,然后关闭 OleDbConnection

public static void ReadData(string connectionString, string queryString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);

        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        while (reader.Read())
        {
            Console.WriteLine(reader[0].ToString());
        }
        reader.Close();
    }
}
Public Sub ReadData(ByVal connectionString As String, _
    ByVal queryString As String)
    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)

        connection.Open()

        Dim reader As OleDbDataReader = command.ExecuteReader()
        While reader.Read()
            Console.WriteLine(reader(0).ToString())
        End While
        reader.Close()
    End Using
End Sub

注解

若要创建 OleDbDataReader,必须调用 OleDbCommand 对象的 ExecuteReader 方法,而不是直接使用构造函数。

在关闭 OleDbConnection之前,请先关闭 OleDbDataReader 对象。 如果计划重新使用 OleDbCommand 对象,则还必须关闭 OleDbDataReader 对象。例如,在调用 Close之后,才能检索输出参数。

正在读取数据时对另一个进程或线程对结果集所做的更改可能对 OleDbDataReader的用户可见。 但是,精确行为取决于时间。

IsClosedRecordsAffected 是关闭 OleDbDataReader 后可以调用的唯一属性。 尽管在 OleDbDataReader 存在时可以访问 RecordsAffected 属性,但在返回 RecordsAffected 值之前,请始终调用 Close 以确保准确的返回值。

属性

Depth

获取一个值,该值指示当前行的嵌套深度。

FieldCount

获取当前行中的列数。

HasRows

获取一个值,该值指示 OleDbDataReader 是否包含一行或多行。

IsClosed

指示数据读取器是否已关闭。

Item[Int32]

获取给定列序号的指定列的本机格式的值。

Item[String]

获取给定列名称的本机格式指定列的值。

RecordsAffected

获取通过执行 SQL 语句更改、插入或删除的行数。

VisibleFieldCount

获取未隐藏的 OleDbDataReader 中的字段数。

方法

Close()

关闭 OleDbDataReader 对象。

CloseAsync()

异步关闭 DbDataReader 对象。

(继承自 DbDataReader)
CreateObjRef(Type)

创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。

(继承自 MarshalByRefObject)
Dispose()

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

(继承自 DbDataReader)
Dispose(Boolean)

释放 DbDataReader 使用的非托管资源,并选择性地释放托管资源。

(继承自 DbDataReader)
DisposeAsync()

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

(继承自 DbDataReader)
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
Finalize()

允许对象在垃圾回收回收资源之前尝试释放资源并执行其他清理操作。

GetBoolean(Int32)

获取指定列的值作为布尔值。

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)

返回所请求的列序号的 OleDbDataReader 对象。

GetDataTypeName(Int32)

获取源数据类型的名称。

GetDateTime(Int32)

获取作为 DateTime 对象的指定列的值。

GetDbDataReader(Int32)

为请求的列序号返回一个 DbDataReader 对象,该对象可以使用提供程序特定的实现重写。

(继承自 DbDataReader)
GetDecimal(Int32)

获取作为 Decimal 对象的指定列的值。

GetDouble(Int32)

获取指定列的值作为双精度浮点数。

GetEnumerator()

返回可用于循环访问数据读取器中的行的 IEnumerator

GetFieldType(Int32)

获取对象数据类型的 Type

GetFieldValue<T>(Int32)

获取指定列的值作为请求的类型。

(继承自 DbDataReader)
GetFieldValueAsync<T>(Int32, CancellationToken)

以异步方式获取指定列的值作为请求的类型。

(继承自 DbDataReader)
GetFieldValueAsync<T>(Int32)

以异步方式获取指定列的值作为请求的类型。

(继承自 DbDataReader)
GetFloat(Int32)

获取指定列的值作为单精度浮点数。

GetGuid(Int32)

获取指定列的值作为全局唯一标识符(GUID)。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetInt16(Int32)

获取指定列作为 16 位有符号整数的值。

GetInt32(Int32)

获取指定列作为 32 位有符号整数的值。

GetInt64(Int32)

获取指定列的值作为 64 位有符号整数。

GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetName(Int32)

获取指定列的名称。

GetOrdinal(String)

获取列序号,给定列的名称。

GetProviderSpecificFieldType(Int32)

获取指定列的提供程序特定类型。

(继承自 DbDataReader)
GetProviderSpecificValue(Int32)

获取作为提供程序特定类型的实例的指定列的值。

(继承自 DbDataReader)
GetProviderSpecificValues(Object[])

获取当前行的集合中所有特定于提供程序的属性列。

(继承自 DbDataReader)
GetSchemaTable()

返回描述 OleDbDataReader的列元数据的 DataTable

GetSchemaTableAsync(CancellationToken)

这是 GetSchemaTable()的异步版本。 提供程序应使用适当的实现替代。 可以选择遵守 cancellationToken。 默认实现调用同步 GetSchemaTable() 调用并返回已完成的任务。 如果已通过已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchemaTable() 引发的异常将通过返回的任务异常属性进行通信。

(继承自 DbDataReader)
GetStream(Int32)

获取从指定列检索数据的流。

(继承自 DbDataReader)
GetString(Int32)

获取指定列作为字符串的值。

GetTextReader(Int32)

获取从列检索数据的文本读取器。

(继承自 DbDataReader)
GetTimeSpan(Int32)

获取作为 TimeSpan 对象的指定列的值。

GetType()

获取当前实例的 Type

(继承自 Object)
GetValue(Int32)

获取指定序号处的列的值,其本机格式。

GetValues(Object[])

使用当前行的列值填充对象的数组。

InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
IsDBNull(Int32)

获取一个值,该值指示列是包含不存在值还是缺失值。

IsDBNullAsync(Int32, CancellationToken)

异步获取一个值,该值指示列是包含不存在值还是缺失值。

(继承自 DbDataReader)
IsDBNullAsync(Int32)

异步获取一个值,该值指示列是包含不存在值还是缺失值。

(继承自 DbDataReader)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
NextResult()

读取批处理 SQL 语句的结果时,将数据读取器推进到下一个结果。

NextResultAsync()

读取一批语句的结果时,异步将读取器提升到下一个结果。

(继承自 DbDataReader)
NextResultAsync(CancellationToken)

读取一批语句的结果时,异步将读取器提升到下一个结果。

(继承自 DbDataReader)
Read()

OleDbDataReader 前进到下一条记录。

ReadAsync()

异步将读取器前进到结果集中的下一条记录。

(继承自 DbDataReader)
ReadAsync(CancellationToken)

异步将读取器前进到结果集中的下一条记录。

(继承自 DbDataReader)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

显式接口实现

IDataRecord.GetData(Int32)

返回指定列序号的 IDataReader

IDataRecord.GetData(Int32)

有关此成员的说明,请参阅 GetData(Int32)

(继承自 DbDataReader)
IDisposable.Dispose()

此 API 支持产品基础结构,不能在代码中直接使用。

释放 OleDbDataReader 类的当前实例使用的资源。

IEnumerable.GetEnumerator()

返回循环访问集合的枚举器。

扩展方法

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)

配置如何执行从异步可释放项返回的任务的 await。

适用于

另请参阅