ADO.NET DataReader对象方法

开发 后端
ADO.NET DataReader对象提供一个只读的、单向的游标,用于访问结果集的行数据,文章有详细的介绍说明,希望大家看了会有帮助。

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

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

不使用DataReader对象而直接操作数据库数据工作示意图

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

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

客户端应用程序需要数据源提供数据时,发送查询命令到数据源。由数据源进行查询处理,返回给客户端一个只读、只进的记录集。对这个记录集的操作就是利用DataReader对象只读和只进访问方式进行的。每读一个数据就向下一条记录转移,直至记录集末尾,并且得到的数据是只读的,不能修改。整个获取数据过程需要客户端应用程序与数据源之间保持永久连接。.NET提供程序及其ADO.NET DataReader类,请参见表:

 
提供程序
DataReader
SQL数据提供程序
SqlDataReader
OLE DB数据提供程序
OleDbDataReader
Oracle数据提供程序
OracleDataReader
ODBC数据提供程序
OdbcDataReader


责任编辑:田树 来源: 博客
相关推荐

2009-10-29 11:08:20

ADO.NET Dat

2009-11-13 10:31:07

ADO.NET Dat

2009-11-11 10:55:10

ADO.NET对象

2009-11-13 10:53:54

ADO.NET Dat

2009-11-04 10:35:42

ADO.NET Con

2009-10-29 13:34:01

ADO.NET对象

2009-12-21 17:35:24

ADO.NET对象

2009-11-04 10:23:05

ADO.NET Con

2009-11-13 14:38:45

ADO.NET Dat

2009-12-21 17:02:19

ADO.NET Sql

2009-11-03 15:24:14

ADO.NET对象模型

2009-06-18 09:56:44

ADO.NET对象模型

2009-11-11 09:54:34

ADO.NET Rec

2009-11-12 16:04:42

ADO.NET对象查询

2009-12-28 13:47:31

ADO.NET对象

2009-11-04 11:30:35

ADO.NET Dat

2009-12-18 14:27:24

ADO.NET对象

2009-11-03 17:46:50

ADO.NET Sel

2009-11-12 15:55:31

ADO.NET对象服务

2009-12-21 15:52:30

ADO.NET对象
点赞
收藏

51CTO技术栈公众号