ADO.NET的DataSet和ADO的Recordset的比较

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
导 读:在 ADO中我们最常使用的对象就 Recordset了,而在 ADO. NET中又增加了一个对象 DataSet。本文简要的对比了DateSet和 Recordset的异同,这对 ADO. NET的初学者非常有帮助!
翻译整理:. NET技术网(www.51dot NET.com)郜飞 
原文出处:http://www.database-applications. NET/articles/dot NET4.html

     Recordset是一个连接或断开的(通过使用游标)的记录集合,它被定义成数据表。 DataSet是一个断开的记录集合,它可以作为在内存中使用的数据集。

     Recordset和数据的提供者有关:有些数据提供者不支持一些 Recordset的方法和特性。相反, DataSet的不同方法例如查询、排序、筛选和更新等等,都是独立于数据提供者的。

    当新版本的 ADO允许 Recordset被保存或转换到XML以至于数据能被传递到应用程序里和越过防火墙, DataSet则不需要转换就能完成相同的任务,因为 DataSet在XML中被声明过。

     Recordset是非类型的,意思是它把每个数据作为variant变量来存储。然而, DataSet是强类型的,它把数据按照原来的类型存储。强类型意味着更规范的编程方式和减少错误。

    通过 ADORecordset来更新数据库是繁琐的、低效率的和低成功率的。举个例子,如果有五十个记录要被更新,还有一个记录不能被更新,数据库将拒绝整个 Recordset。这个问题在 DataSet中就不存在,因为 DataSet能通过它的rowerror特性来一行一行的捕捉错误。除了数据, DataSet也能被增加或修改其关系、列、表和类似对象,而且不需要多重的数据库连接。

    最后,在 Recordset中,通常用循环的办法来取出数据。在 DataSet中,数据视图被创建并绑定到服务器控件上,因此,可以不需要混合表示和数据存取代码就能表示数据。这是很简洁的编程方式。

    总之, DataSetRecordset是完全不相同的。 DataSet可以理解为是一种升级的 Recordset。在没有对 ADO. NETDataSet ADORecordset进行性能上的测试和 比较时,综上所述, DataSet应该是 比较有效的。 <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值