设为首页收藏本站Access中国
Office中国(www.office-cn.net),专业Office论坛

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

返回列表 发新帖
查看: 3583|回复: 4

[ADO/DAO] 【转载 / 文章】DAO拥有ADO/ADOx/JRO所没有的东西

[复制链接]
发表于 2005-8-24 16:26:00 | 显示全部楼层 |阅读模式
DAO拥有ADO/ADOx/JRO所没有的东西(也许从不会有!)

(转自Trigeminal.com,原始发布时间5/24/00)



微软很清楚地把ADO定位为DAO的替换……许多微软的代理认为DAO 就是DOA(Dead On Arrival(到达即死),在美国,这是一个术语,用来描写那些希望获救的人在救护车刚到达,要抢救他们时,他们就死了)。然而,在DAO中,许多核心函数功能时被支持的,而ADO/ADOx/JRO 却不被支持,而且甚至可能从未被支持,因为微软似乎正把用户推向其他方向。而Jet本身不会“死”,很清楚,它不再是一个策略平台,所以,在Jet中,似乎不只是要有足够的兴趣使工作做得更有效了。



对于全记录,这里是一个DAO有而ADO没有的所有能力表:




  • 运行使用多数据库事务(在DAO中有效,因为事务位于工作区层,而在ADO中失效,因为事务位于连接层---而且连接只支持一个数据库)


  • 用一模式打开一个表格,该模式可避免其他用读写模式打开它(由于使用dbDenyWrite常数,在DAO中有效,而在表格层的ADO中失效,因为其最接近模拟adModeShareDenyWrite仅能够被设置在连接层)。


  • 用一模式打开一个表格,该模式可避免其他模式打开它(由于使用dbDenyRead常数,在DAO中有效,而在表格层的ADO中失效,因为其最接近模拟adModeShareDenyRead仅能够被设置在连接层)。


  • 用某一方式创建用户和组,该方式允许你在万一丢失MDW文件时可以重新创建它们(使用CreateUser/CreateGroup,它使你能够指定PIDs,在DAO中有效,而在ADO中失效,ADO不允许你指定PIDs)。


  • 使存取项目对象如表单,报表,或宏安全(由于文档对象的权限属性,在DAO中有效,而在ADOx中失效,因为它不能正确地映射期望常数,用于执行,读更改,和写更改到这些对象类型的权限)。


  • 创建一可更新的链接ODBC表格的能力(由于其调用到SQLStatistics函数,在DAO中有效,而在没有这种调用的ADO中失效)。


  • 创建“预防删除”副本的能力(由于传递&H4的值到CreateReplica调用,在DAO中有效,而在没有这种模拟的JRO中失效)。


  • 从Exchange/Outlook文件夹和列确定文件夹信息的方法(由于TableDef/Field对象属性,在DAO中有效,而在ADO中失效,因为该信息不被通过)。


  • 设置和更改Jet选项而不更改注册表的能力(由于DBEngine.GetOption and DBEngine.SetOption, 在DAO中有效,而在没有这种模拟的ADO中失效)。


  • 通过JPM--也称为Jet Property Manager(Jet属性管理器),允许创建/更改/删除任何和所有属性(由于CreateProperty/Properties.Append, 在DAO中有效,而在几乎所有属性的ADO/ADOx/JRO中失效,因为没有JPM到ADO的挂钩联系)。


  • 从存取内工作时,强制一数据库的锁定模式(使用CurrentDb时,由于DAO.LockTypeEnum常数,在DAO中有效,而使用CurrentProject.Connection时由于ADO.LockTypeEnum常数而失效)。


  • 在一对象上检索隐式权限(由于AllPermissions属性,在DAO中有效,而在ADO中失效,因它没有AllPermissions属性,且要求你分别枚举它们所有组的用户)。


  • 允许一独立的Jet会话来运行使用对象模型中的一专用对象(由于PrivDBEngine对象,在DAO中有效,而在ADO中由于没有模拟对象而失效)。
这些项越来越多地被发现,因此,反复检查,你可能会发现表上的新项目!

[此贴子已经被作者于2005-9-21 23:02:20编辑过]

发表于 2005-8-25 03:54:00 | 显示全部楼层
请问各位平时用的是ADO或DAO多。我从OFFICE2000版后就顺应Microsoft提倡使用ADO,但某些情况下,还是不得不与DAO混用,感觉很不爽。
发表于 2013-10-1 19:28:43 | 显示全部楼层
那您的意思是,还要继续研究DAO,而不是ADO?而人的精力是有效的
发表于 2013-10-1 19:29:20 | 显示全部楼层
DAO既然这么好,为何MS还要推荐我们用ADO替代DAO?

点击这里给我发消息

发表于 2014-10-18 06:48:28 来自手机 | 显示全部楼层
我一直用DAO  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /6 下一条

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

GMT+8, 2018-10-16 02:26 , Processed in 0.092800 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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