dao使用了microsoft jet database engine,是利用com对象实现的,最适用于处理。mdb数据库文件,dao还提供了很多在odbc类中不具备的函数
odbc利用dll实现,他们都使用记录集对象来保存当前从数据库中选择的记录呵呵,目前就想到这么多,详细的话,还是去找书看看吧

解决方案 »

  1.   

    M i c r o s o f t在Wi n d o w s平台中提供了数种不同的数据存取技术。这些不同的数
    据存取技术各有它们的特性和出现的原因。M i c r o s o f t也从实现这些不同的数据存
    取技术中学习到了许多经验,并且根据这些经验开发出新一代技术, A D O便是一
    个非常好的范例。现在就让我们从各种不同的数据存取技术角度来看看每一种技
    术出现时,它是为了存取什么样的数据源。
    1. ODBC
    1 9 9 2年M i c r o s o f t和S y b a s e、D i g i t a l共同制定了O D B C标准接口,以单一的
    ODBC API来存取各种不同的数据库。随后O D B C便获得了许多数据库厂商和
    T h i r d - P a r t y的支持而逐渐成为标准的数据存取技术。
    O D B C以当时的业界标准规范X/Open Call-Level Interface(CLI)和I S O / I E C
    9075-3 Call-Level Interface(SQL/CLI)为涵盖的范围,因而支持了广阔的数据库。
    虽然O D B C在初期的版本中执行效率不佳,而且功能有限,因此也为人们所贬低。
    但是,随着M i c r o s o f t不断地改善O D B C,使O D B C的执行效率不断增加, O D B C驱
    动程序的功能也日渐齐全。到目前, O D B C已经是一个稳定并且执行效率良好的数
    据存取引擎。
    不过O D B C仅支持关系数据库,以及传统的数据库数据类型,并且只以C / C + +
    语言A P I形式提供服务,因而无法符合日渐复杂的数据存取应用,也无法让脚本语
    言使用。因此M i c r o s o f t除了O D B C之外,也推出了其他的数据存取技术以满足程序
    员不同的需要。
    2. DAO
    1 9 9 3年M i c r o s o f t为了让程序员能够存取A c c e s s数据库,使用OLE Automation
    技术封装了Jet Engine。这些使用Jet Engine存取A c c e s s数据库的OLE Automation
    O b j e c t便称为Data Access Object(DAO)。
    D A O能够存取x B a s e的数据库以及E x c e l文件,并且能够结合O D B C存取关系
    数据库。但是D A O毕竟主要的设计目的是存取A c c e s s数据库,因此D A O在存取
    A c c e s s数据库时非常有效率,但是在存取其他的数据源时却表现得不怎么好。目前
    D A O已经慢慢接近维护的状态,因此建议各位尽量不要在新的项目中使用D A O。
    3. RDO
    由于D A O在结合O D B C存取关系数据库时表现得并不好,因此在1 9 9 5年
    M i c r o s o f t同样以OLE Automation技术直接封装ODBC API,让程序员能够存取关
    系数据库。这种数据存取技术便称为Remote Data Object(RDO)。-----以上内容摘自《Delphi 5.x ADO/MTS/COM+高级程序设计篇》