SqlDataReader 类
提供一种从 SQL Server 数据库读取行的只进流的方式。无法继承此类。
命名空间: System.Data.SqlClient
语法:
public class SqlDataReader : DbDataReader,
IDataReader, IDisposable, IDataRecord
说明:
若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用构造函数。
SqlDataReader.HasRows 属性
获取一个值,该值指示 SqlDataReader 是否包含一行或多行。
语法:
public override bool HasRows { get; }
属性值
类型:System..::.Boolean
如果 SqlDataReader 包含一行或多行,则为 true;否则为 false。
SqlDataReader.Read 方法
使 SqlDataReader 前进到下一条记录。
语法:
public override bool Read()
返回值:
类型:System..::.Boolean
如果存在多个行,则为 true;否则为 false。
备注:
SqlDataReader 的默认位置在第一条记录前面。因此,必须调用 Read 来开始访问任何数据。
对于每个关联的 SqlConnection,一次只能打开一个 SqlDataReader,在第一个关闭之前,打开另一个的任何尝试都将失败。类似地,在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为它提供服务,直到调用 Close 时为止。
SqlCommand.ExecuteReader 方法
将 CommandText 发送到 Connection 并生成一个 SqlDataReader。
语法:
C#
public SqlDataReader ExecuteReader()
返回值:
类型:System.Data.SqlClient.SqlDataReader
返回一个 SqlDataReader 对象。
ConnectionState 枚举
描述与数据源的连接的当前状态。
此枚举有一个 FlagsAttribute 属性,通过该属性可使其成员值按位组合。
语法:
[FlagsAttribute]
public enum ConnectionState
成员:
Closed 连接处于关闭状态。
Open 连接处于打开状态。
Connecting 连接对象正在与数据源连接。(该值是为此产品的未来版本保留的。)
Executing 连接对象正在执行命令。(该值是为此产品的未来版本保留的。)
Fetching 连接对象正在检索数据。(该值是为此产品的未来版本保留的。)
Broken 与数据源的连接中断。只有在连接打开之后才可能发生这种情况。可以关闭处于这种状态的连接,然后重新打开。(该值是为此产品的未来版本保留的。)
备注:
OleDbConnection 和 SqlConnection 对象的 State 属性使用 ConnectionState 值。