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

2016-01-29 12:56 5 1 收藏

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

【 tulaoshi.com - ASP.NET 】

导 读:在ADO中我们最常使用的对象就Recordset了,而在ADO.NET中又增加了一个对象DataSet。本文简要的对比了DateSet和Recordset的异同,这对ADO.NET的初学者非常有帮助! 翻译整理:.net技术网(www.51dotnet.com)郜飞
原文出处:http://www.database-applications.net/articles/dotnet4.html

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

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

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

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

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

最后,在recordset中,通常用循环的办法来取出数据。在DataSet中,数据视图被创建并绑定到服务器控件上,因此,可以不需要混合表示和数据存取代码就能表示数据。这是很简洁的编程方式。 总之,DataSet和recordset是完全不相同的。DataSet可以理解为是一种升级的recordset。在没有对ADO.NET的DataSet和ADO的recordset进行性能上的测试和比较时,综上所述,DataSet应该是比较有效的。

来源:https://www.tulaoshi.com/n/20160129/1488162.html

延伸阅读
    在Web跨入编程时代之前,对于大多数IT管理者和顾问来说,数据访问只是一个相对而言的问题;所有要用到的数据都必须自己准备好。人们主要关心的问题是选择性能/价格比最好的数据库服务器,系统涉及的所有模块必须和服务器兼容。客户机/服务器应用是这种两层模型最典型的范例。     随着Web交互性的日益提高...
本文讲述了集成在SQL Server 2005上的CLR和ADO.NET 2.0的应用,以及XML的串行化支持,供大家参考! 终于和CLR成了一家人 CLR的集成 通过集成CLR,SQL Server 2005已经获得了很多新的特性,借助CLR的集成可以用任何.NET语言建立存储过程、触发器、用户自定义函数、用户自定义类型、用户自定义聚合。通过这个集成笔者认为SQL ...
ADO.NET 概述 ADO.NET 提供对 Microsoft SQL Server 等数据源以及通过 OLE DB 和 XML 公开的数据源的一致访问。数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、操作和更新数据。ADO.NET 有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO.NET 包含用于连接到数据库、执行命令和检索结...
标签: Web开发
众所周知,ADO.NET相对于ADO的最大优势在于对于数据的更新修改可以在与数据源完全断开联系的情况下进行,然后再把数据更新情况传回到  数据源。这样大大减少了连接过多对于数据库服务器资源的占用。下面是我在《ADO.NET实用指南》这本书上看到的一个例子,比较清楚的讲解  了ADO.NET的使用方法。  Imports System.Data...
标签: Web开发
要想充分发挥ADO.NET的优势,不仅需要全面、深入理解ADO.NET编程模型,及时总结经验、技巧也十分重要。ADO已经有多年的实践经验,ADO.NET以此为基础,提供了更加丰富、强大的工具;尽管如此,ADO.NET的设计目标毕竟不是提供一个即插即用的工具,它不会把所有的编程工作简化到仅靠鼠标点击就可以完成的程度。  ADO.NET包含了一大堆代表...

经验教程

872

收藏

80
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部