ADO.NET DataReader对象方法

ADO.NET有很多值得学习的地方,这里我们主要介绍DataReader对象提供方法,可以读取通过在数据源执行命令获得的结果集,并且是只读的、只向前递进的行数据流,包括介绍DataReader对象遍历数据等方面。这个对象在读取数据方面的性能最好。

Command对象可以对数据源的数据直接操作,但是如果执行的是要求返回数据结果集的查询命令或存储过程,需要先获取数据结果集的内容,然后再进行处理或输出,这就需要DataReader对象来配合。DataReader对象提供一个只读的、单向的游标,用于访问结果集的行数据。因为内存中每次仅有一个数据行,所以DataReader对象需要的开销很小,效率很高。这里还得提一下Command对象对数据源的数据直接操作而不要求返回数据结果集的情况,这时就不需要使用ADO.NET DataReader对象,而是使用ExecuteNonQuery()方法完成对数据源数据的直接操作。

客户端应用程序要向数据库中插入学生数据信息。将数据值写在SQL命令中或者传递给存储过程的参数,然后调用Command对象的ExecuteNonQuery()方法,学生数据就插入到数据库了ExecuteNonQuery()方法可以返回受影响的行数,如果插入一个学生记录成功了,返回的行数就应该是1,不成功就返回-1。通过返回的受影响行数,可以判断是否成功。这个应用程序就没有使用DataReader对象。

ADO.NET DataReader对象不能直接使用构造函数实例化。必须通过Command对象的ExecuteReader()方法来生成。DataReader对象最主要的方法是Read()方法,用来检索行,然后用下标来访问行中的字段。在DataReader对象遍历数据记录时,数据连接必须保持打开状态,知道DataReader对象被关闭。