OdbcDataReader 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供从数据源读取数据行的只进流的方法。 此类不能被继承。
public ref class OdbcDataReader sealed : System::Data::Common::DbDataReader
public ref class OdbcDataReader sealed : MarshalByRefObject, IDisposable, System::Collections::IEnumerable, System::Data::IDataReader
public sealed class OdbcDataReader : System.Data.Common.DbDataReader
public sealed class OdbcDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
type OdbcDataReader = class
inherit DbDataReader
type OdbcDataReader = class
inherit MarshalByRefObject
interface IDataReader
interface IDataRecord
interface IDisposable
interface IEnumerable
Public NotInheritable Class OdbcDataReader
Inherits DbDataReader
Public NotInheritable Class OdbcDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
- 继承
- 继承
- 继承
- 实现
示例
以下示例创建 OdbcConnection、 OdbcCommand和 OdbcDataReader。 该示例通读数据,将其写入控制台。 最后,该示例关闭 , OdbcDataReader然后关闭 OdbcConnection。
public static void ReadData(string connectionString)
{
string queryString = "SELECT DISTINCT CustomerID FROM Orders";
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
OdbcCommand command = new OdbcCommand(queryString, connection);
connection.Open();
// Execute the DataReader and access the data.
OdbcDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("CustomerID={0}", reader[0]);
}
// Call Close when done reading.
reader.Close();
}
}
Public Sub ReadData(ByVal connectionString As String)
Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"
Using connection As New OdbcConnection(connectionString)
Dim command As New OdbcCommand(queryString, connection)
connection.Open()
Dim reader As OdbcDataReader = command.ExecuteReader()
While reader.Read()
Console.WriteLine("CustomerID={0}", reader(0).ToString)
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
注解
若要创建 , OdbcDataReader必须调用 ExecuteReader 对象的 方法 OdbcCommand ,而不是直接使用构造函数。
OdbcDataReader在使用 时,关联的 OdbcConnection 正忙于为 提供服务OdbcDataReader,除了关闭它,不能对 OdbcConnection 其他执行其他操作。 在调用 的 OdbcDataReader 方法之前Close就是这种情况。 例如,在调用 Close之前,无法检索输出参数。
读取数据时,另一进程或线程对结果集所做的更改可能对 OdbcDataReader 的用户可见。 但是,精确行为取决于驱动程序和计时。
IsClosed 和 RecordsAffected 是在关闭 OdbcDataReader 后可以调用的唯一属性。 有时,必须先调用 Close ,然后才能调用 RecordsAffected。
属性
Depth |
获取一个值,用于指示当前行的嵌套深度。 |
FieldCount |
获取当前行中的列数。 |
HasRows |
获取一个值,该值指示 OdbcDataReader 是否包含一行还是多行。 |
IsClosed |
指示 OdbcDataReader 是否关闭。 |
Item[Int32] |
在给定列序号的情况下,获取指定列的以本机格式表示的值。 |
Item[String] |
在给定列名称的情况下,获取指定列的以本机格式表示的值。 |
RecordsAffected |
通过执行 SQL 语句获取更改、插入或删除的行数。 |
VisibleFieldCount |
获取 DbDataReader 中未隐藏的字段的数目。 (继承自 DbDataReader) |
方法
显式接口实现
IDataRecord.GetData(Int32) |
有关此成员的说明,请参见 GetData(Int32)。 (继承自 DbDataReader) |
IDisposable.Dispose() |
此 API 支持产品基础结构,不能在代码中直接使用。 释放 OdbcDataReader 类的当前实例所使用的所有资源。 |
IEnumerable.GetEnumerator() |
此 API 支持产品基础结构,不能在代码中直接使用。 返回循环访问集合的枚举数。 |
扩展方法
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 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈