ADO.NET基础必备之SqlDataReader 类

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 值。

posted @ 2012-06-10 17:50  net515  阅读(843)  评论(0编辑  收藏  举报