设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2922|回复: 2
打印 上一主题 下一主题

[ADO/DAO] dao和ado有什么区别?

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-16 22:54:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
dao和ado有什么区别?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-10-17 12:25:04 | 只看该作者
DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。
  在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。
  DAO(数据访问对象)是一种应用程序编程接口(API),存在于微软的Visual Basic中,它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。
  除去Data Access Object的意思,在光盘刻录方面DAO对应于Disk At Once(一次写盘方式),在使用刻录机刻录镜像文件时可以选择这种方式。
  一次写盘是单次的写入方式,引导区、数据磁道以及导出区都是一次性写入,一次写完之后光盘就关闭,即便此次写入没有写满整个刻录盘,也无法再写入其它数据。当引导区写入到光盘上时,并没有在该引导区标示出下一个可用的地址,因此光盘就被视为关闭,再也无法写入更多的数据。
  这种写入模式主要用于光盘的复制,一次完成整张光盘的刻录。其特点是能使复制出来的光盘与源盘毫无二致。DAO写入方式可以轻松完成对于音乐 CD、混合或特殊类型CD-ROM等数据轨之间存在间隙的光盘的复制,且可以确保数据结构与间隙长度都完全相同。值得一提的是,由于DAO写入方式把整张光盘当作一个区段来处理,一些小的失误都有可能导致整张光盘彻底报废,所以它对数据传送的稳定性和驱动器的性能有较高的要求。
3#
发表于 2008-10-17 12:26:05 | 只看该作者
ADO 来自ITwiki,开放的信息技术大百科 Jump to: navigation, <jumptoSearch> 微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。 ADO被设计来继承微软早期的数据访问对象层,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。ADO在1996年冬被发布。 ADO包含一些顶层的对象: 连接,代表到数据库的连接 记录集,代表数据库记录的一个集合 命令,代表一个SQL命令 记录,代表数据的一个集合 流,代表数据的顺序集合 错误,代表数据库访问中产生的意外 字段,代表一个数据库字段 参数,代表一个SQL参数 属性,保存对象的信息 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应用程序作了优化。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-13 06:17 , Processed in 0.074470 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表