是用DataReader,还是用DataSet呢
【编者注】是用DataReader,还是用DataSet?首先要知道他们之间的有什么异同,以及适用的工作环境有什么不同。在了解了这方面的信息后,何时用哪个,也就迎刃而解了。 以下笔者为大家提供了区分的方法。
网上收集了一下,用DataReader还是DataSet,下面的答案讲的很清楚
使用DataReader与DataSet都可以从数据源读取数据。
DataReader本身是通过 IDbCommand.ExecuteReader()方法进行构建的;
而DataSet则是通过DbDataAdapter.Fill()方法进行填充。
此外,两者的工作方式有明显的不同:
DataReader的执行过程不能脱离数据库连接,也就是在DataReader读取数据的时候不能够使用 IDbConnection.Close()方法关闭数据库连接;
而在使用DataSet获取数据时,可以断开数据库的连接,因为此时 DbDataAdapter已经负责将数据获取到应用服务器中了。
如果数据量小,网站也小,那么用哪个都无所谓,访问频繁的话就需要使用DataSet了,因为有一个连接的问题.
在网络运用中:
reader必须是在Connection下在状态才能用的,所以组件返回以DataSet为好.
这就是为什么web service允许返回dataset而不是datareader
reader会霸占连接资源,所以不是很方便的。dataset是非连接的数据库访问机制.
测试结果时DataSet要比DataReader慢一些的,差好几倍,但易用度来讲还是DataSet好一些.
二者适用的环境不一样,这要看你数据绑定的目的而定:
如果是为了单纯地显示给客户端浏览,或者只是为了在程序中对某些条件进行判断以决定程序的执行流程,那用DataReader就比较好;
如果需要对显示结果进行编辑或修改,并提交到后台数据库已保存这些改变,那就应该毫不犹豫地选择DataSet。
另外,如果dataset读取数据的过程需要连接,则可以重新进行绑定,绑定的条件可以依据客户端的选择或者根据PageIndex类似的属性一绑定,你实际需要的数据而不是整个数据表。
我个人感觉,都是向着精确化的方向发展,BT的传送文件方式,数据的小片读取,大图片文件部分读取传输技术,ajax只传送网页中需要传送的数据和接收需要接收的数据等等都是精确化的表现!
原文链接:http://www.cnblogs.com/angestudy/archive/2011/04/13/2015510.html
【编辑推荐】
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假