VC++提供的数据库访问技术

 
VC++主要提供以下几种数据库访问技术:
  •        ODBC(Open DataBase Connectivity)
  •        MFC ODBC (Microsoft Foundation Class ODBC)
  •        DAO (Data Access Objects)
  •       OLE DB (Object Link and Embedding DataBase)
  •        ADO (ActiveX Data Objects)
1.       ODBC和MFC ODBC
         ODBC是为客户应用程序访问关系数据库时提供的一个标准接口,对不同的数据库,ODBC提供了一套统一的API,使得应用程序可以应用所提供的API,访问任何提供了ODBC驱动程序的数据库。而且,由于ODBC已经成为一种标准,所以现在几乎所有的关系数据库都提供了ODBC的驱动程序,从而使得ODBC应用更加广泛。
ODBC API可以进行一些低层的数据库操作,但代码编制相对来说比较复杂;而MFC ODBC是Visual C++对ODBC API封装得到的,因此可以简化程序设计,但缺点也是不言而喻的,那就是无法对数据源进行底层操作。
         ODBC 是一种使用 SQL 的程序设计接口。使用 ODBC 让应用程序的编写者避免了与数据源相连的复杂性。这项技术目前已经得到了大多数 DBMS 厂商们的广泛支持。 Microsoft Developer Studio 为大多数标准的数据库格式提供了 32 ODBC 驱动器。这些标准数据格式包括 SQL Server Access Paradox dBase FoxPro Excel Oracle 以及 Microsoft Text 。如果用户希望使用其它格式,用户需要相应的 ODBC 驱动器及 DBMS Visual C++ MFC 类库定义了几个数据库类。在利用 ODBC 编程时,经常要用到 Cdatabase (数据库类)、 CrecordSet (记录集类)和 CrecordView (可视记录集类)。
2.       DAO
         DAO提供了一种通过程序代码创建和操纵数据库的机制。多个ADO构成一个体系结构。在这个结构中,各个DAO对象协同工作。MFC DAO对象协同工作。MFC DAO是微软公司提供的用于访问Microsoft Jet数据库文件(*.mdb)的强用力的数据库开发工具,它通过DAO的封装,向程序员提供了DAO丰富的操作数据库的手段。
        和 MFC ODBC 相比, MFC DAO 在编程的方法上并没有太多的不同。例如在这里一类 CdaoDatabase 代替了前面的 Cdatabase ,以 CdaoRecordset 代替了 Crecordset 等。但两者也不是完全一样,依据用户使用的数据库系统不同,选择不同接口会导致应用性能方面的较大差异,例如要通过 Microsoft Jet 数据引擎访问 Microsoft Access 数据库,使用 DAO 就会有显著的性能优势。另外, DAO 接口还有其他一些特点,比如可以通过 DAO 访问数据库中的数据和数据库的结构定义,而且, DAO 本身就是一组 COM 接口,加上 MFC 的封装,在很大程度上会给简化编程。
3.       OLE DB和ADO
        OLE DB是Visual C++开发数据库应用中提供的基于COM接口的新技术,因此OLE DB对所有的文件系统(包括关系数据库合肥关系数据库)都提供了统一的借口。这些特性使得OLE DB技术比传统的数据库访问技术更加优越。
        直接使用OLE DB来设计数据库应用程序需要大量的代码。在VC中提供了ATL模板,用于设计OLE DB数据应用程序和数据提供程序。它是一种底层接口。而ADO技术则是基于OLE DB的访问接口,对OLE DB的接口作了封装,定义了ADO对象,使得程序开发得到简化,它属于数据库访问的高层接口。
         ADO 是为 Microsoft 最新和最强大的数据访问接口 OLE DB 而设计的,是一个便于使用的应用程序层。 OlE DB 为任何数据源都提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件、文件系统、文本和图形以及自定义业务对象等。 ADO 在关键的 Internet 方案中使用最少的网络流量,并且在前段和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。同时 ADO 使用了与 DAO 相似的约定和特性,使得它更易于学习。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值