SqlDataReader
2010-05-06 14:14
295 查看
若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用构造函数。
在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为 SqlDataReader 服务,对 SqlConnection 无法执行任何其他操作,只能将其关闭。除非调用 SqlDataReader 的 Close 方法,否则会一直处于此状态。例如,在调用 Close 之前,无法检索输出参数。
SqlDataReader 的用户可能会看到在读取数据时另一进程或线程对结果集所做的更改。但是,确切的行为与执行时间有关。
当 SqlDataReader 关闭后,只能调用 IsClosed 和 RecordsAffected 属性。尽管当 SqlDataReader 存在时可以访问 RecordsAffected 属性,但是请始终在返回 RecordsAffected 的值之前调用 Close,以保证返回精确的值。
下面的示例创建一个 SqlConnection、一个 SqlCommand 和一个 SqlDataReader。该示例读取全部数据,并将这些数据写到控制台窗口。随后此代码关闭 SqlDataReader。SqlConnection 在 using 代码块的结尾处自动关闭。
在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为 SqlDataReader 服务,对 SqlConnection 无法执行任何其他操作,只能将其关闭。除非调用 SqlDataReader 的 Close 方法,否则会一直处于此状态。例如,在调用 Close 之前,无法检索输出参数。
SqlDataReader 的用户可能会看到在读取数据时另一进程或线程对结果集所做的更改。但是,确切的行为与执行时间有关。
当 SqlDataReader 关闭后,只能调用 IsClosed 和 RecordsAffected 属性。尽管当 SqlDataReader 存在时可以访问 RecordsAffected 属性,但是请始终在返回 RecordsAffected 的值之前调用 Close,以保证返回精确的值。
下面的示例创建一个 SqlConnection、一个 SqlCommand 和一个 SqlDataReader。该示例读取全部数据,并将这些数据写到控制台窗口。随后此代码关闭 SqlDataReader。SqlConnection 在 using 代码块的结尾处自动关闭。
public class SqlDataReader : DbDataReader, IDataReader, IDisposable, IDataRecord public class SqlDataReader extends DbDataReader implements IDataReader, IDisposable, IDataRecord private static void 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(); } }
相关文章推荐
- SqlDataReader & Dataset ExecuteNonQuery & ExecuteScalar
- ADO.NET读书笔记系列之------SqlCommander和SqlDataReader对象
- 白话SqlConnection,SqlCommand,SqlDataAdapter,SqlDataReader,DataSet
- 使用SqlDataReader注意的几点
- ADO.NET 開發高手線上教學課程第六集 - 如何使用資料讀取器 (SqlDataReader)
- SqlDataReader,SqlDataAdapter与SqlCommand的一点总结.
- datatable与SqlDataReader
- SqlDataReader的合适关闭方法?
- SqlDataReader 类
- 使用SqlDataReader来操作数据库
- DataTable && SqlDataReader帮助理解小程序
- SqlDataReader,SqlDataAdapter与SqlCommand的一点总结.
- SqlConnection,SqlCommand,SqldataReader的用法总结
- SqlCommand 类读取SqlDataReader数据动态创建DataTable
- 用SqlDataReader返回多个结果集
- sql 查询语法汇总(三)SqlDataReader 与SqlDataAdapter+DataSet 的区别
- WinForm中DataGridView该如何绑定一个SqlDataReader
- SqlConnection,SqlCommand,SqldataReader的用法总结:
- 关于SqlDataReader不支持分页的问题
- SqlDataReader和DataSet