ADO.NET相对于ADO等主要有什么改进

数据的内存中表示形式
在 ADO 中,数据的内存中表示形式为记录集。在 ADO.NET 中,它为数据集。它们之间有重要的差异。
表的个数
记录集看起来像单个表。如果记录集将包含来自多个数据库表的数据,则它必须使用 JOIN 查询,将来自各个数据库表的数据组合到单个结果表中。
相反,数据集是一个或多个表的集合。数据集内的表称为数据表;明确地说,它们是 DataTable 对象。如果数据集包含来自多个数据库表的数据,它通常将包含多个 DataTable 对象。即,每个 DataTable 对象通常对应于单个数据库表或视图。这样,数据集可以模仿基础数据库的结构。
数据集通常还包含关系。数据集内的关系类似于数据库中的外键关系,即它使多个表中的行彼此关联。例如,如果数据集包含一个有关投资者的表和另一个有关每个投资者的股票购买情况的表,则数据集可能还包含一个关系来连接投资者表的各个行和购买表的对应行。
由于数据集可以保存多个独立的表并维护有关表之间关系的信息,因此它可以保存比记录集丰富得多的数据结构,包括自关联的表和具有多对多关系的表。
数据导航和游标
在 ADO 中,您使用 ADO MoveNext 方法顺序扫描记录集的行。在 ADO.NET 中,行表示为集合,因此您可以像依次通过任何集合那样依次通过表,或通过序号索引或主键索引访问特定行。DataRelation 对象维护有关主记录和详细资料记录的信息,并提供方法使您可以获取与正在操作的记录相关的记录。例如,从 Investor 表的“Nate Sun”的行开始,可以定位到 Purchase 表中描述其购买情况的那组行。
将打开连接的时间降至最低
在 ADO.NET 中,打开连接的时间仅足够执行数据库操作,例如“选择”(Select) 或“更新”(Update)。您可以将行读入数据集中,然后在不保持与数据源的连接的情况下使用它们。在 ADO 中,记录集可以提供不连接的访问,但 ADO 主要是为连接的访问设计的。
ADO 和 ADO.NET 中的不连接处理之间存在一个显著差异。在 ADO 中,通过调用 OLE DB 提供程序来与数据库通信。ADO.NET 中通过 TableAdapter 或数据适配器(如 SqlDataAdapter)与数据库通信,这会调用 OLE DB 提供程序或基础数据源提供的 API。ADO 和 ADO.NET 之间的主要区别在于:在 ADO.NET 中,适配器允许您控制将对数据集所做的更改传输到数据库的方式,方法是实现性能优化、执行数据验证检查或添加其他任何额外处理。
在应用程序间共享数据
在应用程序间传输 ADO.NET 数据集比传输 ADO 不连接的记录集要容易得多。若要将 ADO 不连接的记录集从一个组件传输到另一个组件,请使用 COM 封送。若要在 ADO.NET 中传输数据,请使用数据集,它可以传输 XML 流。
相对于 COM 封送,XML 文件的传输提供以下便利之处:
更丰富的数据类型
COM 封送处理提供一组有限的数据类型(由 COM 标准定义的那些类型)。由于 ADO.NET 中的数据集传输基于 XML 格式,所以对数据类型没有限制。因此,共享数据集的组件可以使用这些组件一般会使用的任何丰富的数据类型集。
性能
传输大型 ADO 记录集或大型 ADO.NET 数据集会使用网络资源;随着数据量的增长,施加于网络的压力也在增加。ADO 和 ADO.NET 都使您可以最大限度地降低所传输的数据。但 ADO.NET 还提供另一个性能优势:ADO.NET 不需要数据类型转换。而需要 COM 封送来在组件间传输记录集的 ADO,则需要将 ADO 数据类型转换为 COM 数据类型。
穿透防火墙
防火墙可以影响试图传输不连接的 ADO 记录集的两个组件。请记住,防火墙通常配置为允许 HTML 文本通过,但防止系统级请求(如 COM 封送)通过。
因为组件使用 XML 交换 ADO.NET 数据库,所以防火墙可以允许数据集通过

点评:

从ado升级到ado.net,是微软数据处理技术的一个飞跃,而了解它们之间的区别,可以让我们更好的掌握ado.net特点。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
随着Inteme=t的普及,越来越多的学校建立了自己的Web网站,其中学生信息 管理系统是构成学生网站的一个重要组成部分。传统的基于ASP和JavaSeript、 VBScript等脚本语言,将动态网页和数据库结合,通过应用程序来处理的方法具有 较大局限性。 系统的开发过程中采用的技术是在.NET Framework平台上利用ASP.NET技术 来开发,采用c撑语言来实现。该系统采用ADO.NET技术可以容纳具有复杂关系的 数据,不再依赖于数据库链接;而且其开发模式有助于减少软件的维护费用,提高 软件的可移植性和可伸缩性,提高网络性能,甚至有助于提高软件开发人员的生产 力和缩短开发周期;对于ASP来说,配置应用程序ASENET的安全性更高。并 且对ASP.NET安全机制的研究与实现进行比较深入的研究。 正是由于采用了上述方法,使得本系统与用ASP技术开发的系统比具有操作 简单、界面友好,完全控件式的页面布局,使得信息的录入工作更简便;同时许多 选项包括信息类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提 示信息也让用户随时清楚自己的操作情况;具有即时可见性,对信息的处理将立即 在主页的对应栏目显示出来,达到”即时发布、即时见效”的功能;系统功能完善, 包括常见网站的信息管理的各个方面完整地实现7网站对信息的管理要求;并且方 便移植,针对不同的学校或关单位,只需要稍作修改就可以开发出适合本部门特 点的信息管理系统等特点。
传统的基于ASP和JavaScript、VBScript等脚本语言,将动态网页和数据库结合,通过应用程序来处理的方法具有较大局限性。 系统的开发过程中采用的技术是在.netFramework平台上利用ASP.net技术来开发,采用C#语言来实现。该系统采用ADO.net技术可以容纳具有复杂关系的数据,不再依赖于数据库链接;而且其开发模式有助于减少软件的维护费用,提高软件的可移植性和可伸缩性,提高网络性能,甚至有助于提高软件开发人员的生产力和缩短开发周期;对于ASP来说,配置应用程序ASP.net的安全性更高。并且对ASP.net安全机制的研究与实现进行比较深入的研究。 正是由于采用了上述方法,使得本系统与用ASP技术开发的系统比具有操作简单、界面友好,完全控件式的页面布局,使得信息的录入工作更简便;同时许多选项包括信息类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况;具有即时可见性,对信息的处理将立即在主页的对应栏目显示出来,达到”即时发布、即时见效”的功能;系统功能完善,包括常见网站的信息管理的各个方面完整地实现了网站对信息的管理要求;并且方便移植,针对不同的学校或关单位,只需要稍作修改就可以开发出适合本部门特点的信息管理系统等特点。
ADO组件的使用需要利用支持COM的高级语言,例如ASP中的VBScript或者Visual Basic,甚至Delphi,微软的竞争对手Borland的一个产品,现在也支持使用ADO来访问数据库。   在新的编程框架.NET Framework中, 微软也提供了一个面向Internet的版本的ADO,称为ADO.NET。其对象模型和传统ADO差别很大。 ADO是一种面向对象的编程接口,微软介绍说,与其同IBM和Oracle提倡的那样,创建一个统一数据库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。 开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO的一项属性远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX的一部分,ADO也是COM组件的一部分。ADO是由早期的微软数据接口??远程数据对象RDO演化而来的。RDO同微软的ODBC一同连接关系数据库,不过不能连接非关系数据库。   ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB provider)。目前,虽然OLE DB提供者比较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。   ADO向VB程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是DAO3.5的Dao350.dll所占内存的60%)。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个"Connection"对象,但是可以有多个,独立的"Recordset"对象来使用它。ADO针对客户/服务器以及WEB应用程序作了优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值