ADO和DAO有何分別??(編號:7371)

大哉問!! 可以到微軟的網站去看:
http://www.microsoft.com/data/
簡而言之:
ADO 是為了簡化 OLE DB 所做出來的資料存取物件, 它必須有 OLE DB Provider for 某個資料庫 才能運作;
DAO 是為了存取 MS Access 資料庫而存在.
ADO (ActiveX Data Object) 只是為了方便開發者存取資料庫而已,如果今天我們針對特定的資料庫開發程式,
使用該資料庫提供的 Data Object Model 或 ODBC driver 效率會比較好, 因為 ADO 的目標是放在 Universal 上面的.
所以用 DAO 來存取 MS Access 效率會比用 ADO 好,
用 SQL-DMO 來存取 MS SQL Server 效率會比用 ADO 好.
但是我們因此而質疑 ADO 存在的價值嗎? 不是的
ADO 存在的理由不是因為效率, 而是方便及彈性; 當我們從 A 資料庫換成 B 資料庫時, ADO 程式碼只需少量修改便能 Work, 這是它的好處.