本文简要介绍Visual C++中常用的数据库技术,大致分为三类,即ODBC API/MFC ODBC、DAO以及OLE DB/ADO。其中,MFC ODBC是MFC对ODBC API的封装,ADO是OLE DB的高层接口,接下来对它们分别给予简要介绍。
1 ODBC API/MFC ODBC技术
ODBC(Open Database Conectivity,开放式数据库互联)技术,是数据库进行访问的标准应用程序接口。ODBC的工作依赖于数据库制造商提供的驱动程序,在ODBC的DLL下安装不同数据库的驱动程序,开发人员可以访问不同的数据库资源。
但是,ODBC API有一个明显的弱点,即在编程时要编写大量的程序代码。因此自MFC1.5版起,MFC就引入了ODBC API的封装类,这些类封装了大部分的ODBC API,通过这些类提供的接口中,开发人员不必与ODCB API打交道,就可以实现数据库的大部分操作,这显然大大地简化了编程过程。
2 DAO技术
DAO(Data Access Object,数据访问对象)是第一个面向对象的接口,该技术最初用于像Access这样的MicroSoft产品中。DAO依赖于用Microsoft Access自动获得的MicroSoft Jet数据库引擎。另外,DAO还是较早版本的VB所使用的引擎,所以如果需要支持较的VB应用程序,那么使用DAO是一个不错的选择。不过,目前此技术有被OLE DB/ADO取代的趋势,所以一般也不再使用。
3 OLE DB/ADO技术
OLE DB是系统级的编程接口,可在C/C++语言中直接使用。它定义了一组COM接口,这组接口封装了数据系统的各种操作,为数据使用方和数据提代方建立了标准。OLE DB还提供了一组标准的服务组件,用于进行查询、缓存、数据更新、事务处理等操作。因此,数据提供方只需实现一些简单的数据操作,使用方就可以获得全部的数据控制能力。
ADO是应用层的编程接口,它以OLE DB为基础,并对OLE DB进行了封装。一般通过OLE DB提供的COM接口来访问数据。由于ADO建立在自动化基础上,因此ADO的应用场合非常广泛。它适合于各种C/S应用系统和基于Web的应用,甚至在一些脚本语言或宏语言中也可以访问数据库。
参考文献《精通MFC程序设计》