設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 8123|回復(fù): 4
打印 上一主題 下一主題

[ADO/DAO] 【轉(zhuǎn)載 / 文章】DAO擁有ADO/ADOx/JRO所沒有的東西

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2005-8-24 16:26:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
DAO擁有ADO/ADOx/JRO所沒有的東西(也許從不會有。

(轉(zhuǎn)自Trigeminal.com,原始發(fā)布時間5/24/00)



微軟很清楚地把ADO定位為DAO的替換……許多微軟的代理認為DAO 就是DOA(Dead On Arrival(到達即死),在美國,這是一個術(shù)語,用來描寫那些希望獲救的人在救護車剛到達,要搶救他們時,他們就死了)。然而,在DAO中,許多核心函數(shù)功能時被支持的,而ADO/ADOx/JRO 卻不被支持,而且甚至可能從未被支持,因為微軟似乎正把用戶推向其他方向。而Jet本身不會“死”,很清楚,它不再是一個策略平臺,所以,在Jet中,似乎不只是要有足夠的興趣使工作做得更有效了。



對于全記錄,這里是一個DAO有而ADO沒有的所有能力表:




  • 運行使用多數(shù)據(jù)庫事務(wù)(在DAO中有效,因為事務(wù)位于工作區(qū)層,而在ADO中失效,因為事務(wù)位于連接層---而且連接只支持一個數(shù)據(jù)庫)


  • 用一模式打開一個表格,該模式可避免其他用讀寫模式打開它(由于使用dbDenyWrite常數(shù),在DAO中有效,而在表格層的ADO中失效,因為其最接近模擬adModeShareDenyWrite僅能夠被設(shè)置在連接層)。


  • 用一模式打開一個表格,該模式可避免其他模式打開它(由于使用dbDenyRead常數(shù),在DAO中有效,而在表格層的ADO中失效,因為其最接近模擬adModeShareDenyRead僅能夠被設(shè)置在連接層)。


  • 用某一方式創(chuàng)建用戶和組,該方式允許你在萬一丟失MDW文件時可以重新創(chuàng)建它們(使用CreateUser/CreateGroup,它使你能夠指定PIDs,在DAO中有效,而在ADO中失效,ADO不允許你指定PIDs)。


  • 使存取項目對象如表單,報表,或宏安全(由于文檔對象的權(quán)限屬性,在DAO中有效,而在ADOx中失效,因為它不能正確地映射期望常數(shù),用于執(zhí)行,讀更改,和寫更改到這些對象類型的權(quán)限)。


  • 創(chuàng)建一可更新的鏈接ODBC表格的能力(由于其調(diào)用到SQLStatistics函數(shù),在DAO中有效,而在沒有這種調(diào)用的ADO中失效)。


  • 創(chuàng)建“預(yù)防刪除”副本的能力(由于傳遞&H4的值到CreateReplica調(diào)用,在DAO中有效,而在沒有這種模擬的JRO中失效)。


  • 從Exchange/Outlook文件夾和列確定文件夾信息的方法(由于TableDef/Field對象屬性,在DAO中有效,而在ADO中失效,因為該信息不被通過)。


  • 設(shè)置和更改Jet選項而不更改注冊表的能力(由于DBEngine.GetOption and DBEngine.SetOption, 在DAO中有效,而在沒有這種模擬的ADO中失效)。


  • 通過JPM--也稱為Jet Property Manager(Jet屬性管理器),允許創(chuàng)建/更改/刪除任何和所有屬性(由于CreateProperty/Properties.Append, 在DAO中有效,而在幾乎所有屬性的ADO/ADOx/JRO中失效,因為沒有JPM到ADO的掛鉤聯(lián)系)。


  • 從存取內(nèi)工作時,強制一數(shù)據(jù)庫的鎖定模式(使用CurrentDb時,由于DAO.LockTypeEnum常數(shù),在DAO中有效,而使用CurrentProject.Connection時由于ADO.LockTypeEnum常數(shù)而失效)。


  • 在一對象上檢索隱式權(quán)限(由于AllPermissions屬性,在DAO中有效,而在ADO中失效,因它沒有AllPermissions屬性,且要求你分別枚舉它們所有組的用戶)。


  • 允許一獨立的Jet會話來運行使用對象模型中的一專用對象(由于PrivDBEngine對象,在DAO中有效,而在ADO中由于沒有模擬對象而失效)。
這些項越來越多地被發(fā)現(xiàn),因此,反復(fù)檢查,你可能會發(fā)現(xiàn)表上的新項目!

[此貼子已經(jīng)被作者于2005-9-21 23:02:20編輯過]

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2005-8-25 03:54:00 | 只看該作者
請問各位平時用的是ADO或DAO多。我從OFFICE2000版后就順應(yīng)Microsoft提倡使用ADO,但某些情況下,還是不得不與DAO混用,感覺很不爽。
3#
發(fā)表于 2013-10-1 19:28:43 | 只看該作者
那您的意思是,還要繼續(xù)研究DAO,而不是ADO?而人的精力是有效的
4#
發(fā)表于 2013-10-1 19:29:20 | 只看該作者
DAO既然這么好,為何MS還要推薦我們用ADO替代DAO?

點擊這里給我發(fā)消息

5#
發(fā)表于 2014-10-18 06:48:28 來自手機 | 只看該作者
我一直用DAO  
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 08:29 , Processed in 0.093529 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表