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 ,必须调用 OdbcCommand 对象的 ExecuteReader 方法,而不是直接使用构造函数。
在使用 OdbcDataReader 时,关联的 OdbcConnection 正忙于为 OdbcDataReader 提供服务,除了关闭 OdbcConnection 外,无法执行其他操作。 在调用 OdbcDataReader 的 Close 方法之前,情况就是这种情况。 例如,在调用 Close 之后,才能检索输出参数。
正在读取数据时对另一个进程或线程对结果集所做的更改可能对 OdbcDataReader 的用户可见。 但是,精确行为既取决于驱动程序,又依赖于计时。
IsClosed 和 RecordsAffected 是关闭 OdbcDataReader 后可以调用的唯一属性。 有时,必须先调用 Close ,然后才能调用 RecordsAffected 。
属性
方法
Close()
关闭 OdbcDataReader 对象。
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)
返回指定列序号的 IDataReader 。
GetData(Int32)
返回所请求列的嵌套数据读取器。
(继承自 DbDataReader )
GetDataTypeName(Int32)
获取源数据类型的名称。
GetDate(Int32)
获取作为 DateTime 对象的指定列的值。
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()
返回描述 OdbcDataReader 的列元数据的 DataTable 。
GetSchemaTableAsync(CancellationToken)
这是 GetSchemaTable() 的异步版本。
提供程序应使用适当的实现替代。
可以选择遵守 cancellationToken
。
默认实现调用同步 GetSchemaTable() 调用并返回已完成的任务。
如果已通过已取消 cancellationToken
,则默认实现将返回已取消的任务。
GetSchemaTable() 引发的异常将通过返回的任务异常属性进行通信。
(继承自 DbDataReader )
GetStream(Int32)
获取从指定列检索数据的流。
(继承自 DbDataReader )
GetString(Int32)
获取指定列作为 String 的值。
GetTextReader(Int32)
获取从列检索数据的文本读取器。
(继承自 DbDataReader )
GetTime(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 语句的结果时,将 OdbcDataReader 提升到下一个结果。
NextResultAsync()
读取一批语句的结果时,异步将读取器提升到下一个结果。
(继承自 DbDataReader )
NextResultAsync(CancellationToken)
读取一批语句的结果时,异步将读取器提升到下一个结果。
(继承自 DbDataReader )
Read()
将 OdbcDataReader 前进到下一条记录。
ReadAsync()
异步将读取器前进到结果集中的下一条记录。
(继承自 DbDataReader )
ReadAsync(CancellationToken)
异步将读取器前进到结果集中的下一条记录。
(继承自 DbDataReader )
ToString()
返回一个表示当前对象的字符串。
(继承自 Object )
显式接口实现
扩展方法
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。
适用于
另请参阅