SqlDataReader(转)

上一篇 / 下一篇  2011-11-02 11:49:28 / 个人分类:SQL

SqlDataReader

提供一种从SQL Server数据库读取行的只进流的方式。无法继承此类。

  命名空间:System.Data.SqlClient

  程序集:System.Data(在system.data.dll中)

  public class SqlDataReader : DbDataReader, IDataReader, IDisposable, IDataRecord

  若要创建SqlDataReader,必须调用SqlCommand对象的ExecuteReader方法,而不要直接使用构造函数。

  在使用SqlDataReader时,关联的SqlConnection正忙于为SqlDataReader服务,对SqlConnection无法执行任何其他操作,只能将其关闭。除非调用SqlDataReaderClose方法,否则会一直处于此状态。例如,在调用Close之前,无法检索输出参数。

  SqlDataReader的用户可能会看到在读取数据时另一进程或线程对结果集所做的更改。但是,确切的行为与执行时间有关。

  当SqlDataReader关闭后,只能调用IsClosedRecordsAffected属性。尽管当SqlDataReader存在时可以访问RecordsAffected属性,但是请始终在返回RecordsAffected的值之前调用Close,以保证返回精确的值。

  C#

  privatestaticvoid ReadOrderData(string connectionString)

  {

  string queryString =

  "SELECT OrderID, CustomerID FROM dbo.Orders;";

  using (SqlConnection connection =

  new SqlConnection(connectionString))

  {

  SqlCommand command =

  new SqlCommand(queryString, connection);

  connection.Open();

  SqlDataReader reader = command.ExecuteReader();

  // Call Read before accessing data.

  while (reader.Read())

  {

  Console.WriteLine(String.Format("{0}, {1}",

  reader[0], reader[1]));

  }

  // Call Close when done reading.

  reader.Close();

  }

  }

  继承层次结构

  System.Object

  System.MarshalByRefObject

  System.Data.Common.DbDataReader

  System.Data.SqlClient.SqlDataReader


TAG:

 

评分:0

我来说两句

Open Toolbar