DataSet和DataReader的区别
来源:互联网 发布:年收入上千万 知乎 编辑:程序博客网 时间:2024/05/16 06:15
DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...
使用DataReader与DataSet都可以从数据源读取数据。
DataReader本身是通过IDbCommand.ExecuteReader()方法进行构建的;而DataSet则是通过DbDataAdapter.Fill()方法进行填充。此外,两者的工作方式有明显的不同:DataReader的执行过程不能脱离数据库连接,也就是在DataReader读取数据的时候不能够使用IDbConnection.Close()方法关闭数据库连接;而在使用DataSet获取数据时,可以断开数据库的连接(具体请参加微软提供的相关的演示文档),因为此时DbDataAdapter已经负责将数据获取到应用服务器中了。
由于有这样的区别,所以在开发数据库相关程序时需要特别注意。例如在使用DataReader获取数据后,应该主动地关闭数据库连接,否则可能出现数据库连接池溢出的异常。
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...
使用DataReader与DataSet都可以从数据源读取数据。
DataReader本身是通过IDbCommand.ExecuteReader()方法进行构建的;而DataSet则是通过DbDataAdapter.Fill()方法进行填充。此外,两者的工作方式有明显的不同:DataReader的执行过程不能脱离数据库连接,也就是在DataReader读取数据的时候不能够使用IDbConnection.Close()方法关闭数据库连接;而在使用DataSet获取数据时,可以断开数据库的连接(具体请参加微软提供的相关的演示文档),因为此时DbDataAdapter已经负责将数据获取到应用服务器中了。
由于有这样的区别,所以在开发数据库相关程序时需要特别注意。例如在使用DataReader获取数据后,应该主动地关闭数据库连接,否则可能出现数据库连接池溢出的异常。
- DataSet和DataReader的区别
- DataSet和DataReader的区别
- DataReader和DataSet的区别
- DataSet和DataReader的区别
- DataSet和DataReader的区别
- DataReader和DataSet的区别
- DataSet和DataReader的区别
- dataset和datareader的区别
- datareader和dataset的区别
- DataSet和DataReader的区别
- DataReader和DataSet的区别
- Dataset和DataReader的区别
- dataset和datareader的区别
- DataReader和DataSet的区别
- DataSet和DataReader区别
- Dataset和DataReader区别
- DataSet和DataReader区别
- C#中DataSet和DataReader的区别
- 丝丝入口-凉菜六碟
- 关于 winpcap(1)
- 用VS2005制作网页对IIS进行操作
- Mysql中文乱码
- 利用OWC创建图表的完美解决方案
- DataSet和DataReader的区别
- OWC绘图控件研究
- ASP.NET中实时图表的实现
- ASP.NET 2.0中使用OWC生成图表
- 上海市区广场、商场、大厦中英文对照大全
- 计算机网络(第五版) 谢希仁著 部分参考答案
- 将DataTable对象转换为Recordset对象
- oracle学习笔记(五)--工具介绍
- VS2005项目的安装与布署