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

原创 2001年05月05日 14:04:00
导 读:在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应该是比较有效的。

C#调用ADO的RecordSet.AddNew方法.

项目中使用WebService,使用C#编写,调用VB写的组件,VB组件使用ADO,其中有的方法是需要传递Recordset的,但是在C#中的Recordset.AddNew的方法与VB中的不同,这是...
  • wumylove1234
  • wumylove1234
  • 2006年07月14日 16:47
  • 5493

ADO对象之Recordset用法总结:

在ADO程序中,记录集(Recordset)对象代表一个表的记录集合或者是一个SQL命令或存储过程执行结果。简单地说:记录集实际上缓存了从数据库获得的记录,应用程序可以从记录集中获得每条记录的字段。 ...
  • niushitang
  • niushitang
  • 2012年12月07日 17:52
  • 11301

ADO访问数据库获取 Recordset 对象中的记录数

CString strSQL = "SELECT * FROM authors";           _RecordsetPtr pRs = NULL;      pRs.CreateInstanc...
  • dafenqie
  • dafenqie
  • 2016年12月27日 17:06
  • 1264

ADO连接数据库时EOF、BOF的意义和用法

在做学生管理的过程中,多次运用BOF和EOF,使文章的逻辑更加的鲜明,刚开始理解不是很到位、有点小偏差,随着大家的交流与学习,逐渐加强了对其的认识,接下来大家共同学习!...
  • foreverhuylee
  • foreverhuylee
  • 2014年06月26日 14:51
  • 3208

ADO中记录集recordSet的使用

_variant_t vUsername,vID,vname; //变量声明 _RecordsetPtr m_pRecordset;     //记录集 CString strid; _Conn...
  • u013513883
  • u013513883
  • 2014年08月20日 23:21
  • 1149

VC+ADO recordset(属性含义)

第一部分:记录集 记录集是从数据库中按一定查询条件读入到内存中的一批记录,以供快速的操作。 记录集recordset对象的属性,方法: BOF:当记录集记录指针指到起始记录(第1条记...
  • CAICHAO1234
  • CAICHAO1234
  • 2013年04月07日 08:52
  • 3386

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

导 读:在ADO中我们最常使用的对象就Recordset了,而在ADO.NET中又增加了一个对象DataSet。本文简要的对比了DateSet和Recordset的异同,这对ADO.NET的初学者非常...
  • coolstar
  • coolstar
  • 2001年05月05日 14:04
  • 2167

vb.net定义dataset

Private Sub MakeDS()        Private myDataSet As DataSet        Dim myDataTable As DataTable = New D...
  • octopus1
  • octopus1
  • 2007年08月07日 16:59
  • 1826

两种数据访问方式:从ADO 到ADO.NET

电脑最大的好处就是可以帮助人处理大量数据,由此离不开对数据库的访问,先看看最近在做ASP.NET例子的时候经常用到的ADO.NET的数据库访问方式。...
  • u010927640
  • u010927640
  • 2016年03月13日 17:17
  • 3296

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

  • zgqtxwd
  • zgqtxwd
  • 2008年04月24日 14:04
  • 87
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADO.NET的DataSet和ADO的Recordset的比较
举报原因:
原因补充:

(最多只允许输入30个字)