OleDbDataReader 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供从数据源读取数据行的只进流的方法。 此类不能被继承。
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
- 继承
- 继承
- 继承
- 实现
示例
以下示例创建 OleDbConnection、 OleDbCommand和 OleDbDataReader。 该示例读取数据,将其写出到控制台。 最后,该示例关闭 , 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必须调用 ExecuteReader 对象的 方法 OleDbCommand ,而不是直接使用构造函数。
在关闭 之前, OleDbConnection请先关闭 OleDbDataReader 对象。 如果计划重新使用 OleDbCommand 对象,OleDbDataReader还必须关闭 该对象。例如,在调用 Close之前,无法检索输出参数。
读取数据时,另一进程或线程对结果集所做的更改可能对 OleDbDataReader 的用户可见。 但是,确切的行为与时间有关。
IsClosed 和 RecordsAffected 是在关闭 OleDbDataReader 后可以调用的唯一属性。 RecordsAffected尽管 可以在 存在时OleDbDataReader访问 属性,但始终在返回 值RecordsAffected之前调用 Close ,以确保返回值准确。
属性
Depth |
获取一个值,用于指示当前行的嵌套深度。 |
FieldCount |
获取当前行中的列数。 |
HasRows |
获取一个值,该值指示 OleDbDataReader 是否包含一行还是多行。 |
IsClosed |
指示是否可关闭数据读取器。 |
Item[Int32] |
在给定列序号的情况下,获取指定列的以本机格式表示的值。 |
Item[String] |
在给定列名称的情况下,获取指定列的以本机格式表示的值。 |
RecordsAffected |
通过执行 SQL 语句获取更改、插入或删除的行数。 |
VisibleFieldCount |
获取 OleDbDataReader 中未隐藏的字段的数目。 |
方法
显式接口实现
IDataRecord.GetData(Int32) |
返回指定列序号的 IDataReader。 |
IDataRecord.GetData(Int32) |
有关此成员的说明,请参见 GetData(Int32)。 (继承自 DbDataReader) |
IDisposable.Dispose() |
此 API 支持产品基础结构,不能在代码中直接使用。 释放 OleDbDataReader 类的当前实例使用的资源。 |
IEnumerable.GetEnumerator() |
返回循环访问集合的枚举数。 |
扩展方法
CanGetColumnSchema(DbDataReader) |
获取一个值,指示 DbDataReader 是否可以获取列架构。 |
GetColumnSchema(DbDataReader) |
获取 DbDataReader 的列架构(DbColumn 集合)。 |
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |
适用于
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈