Visual C++ 数据库开发的特点
visual C++提供了多种多样的数据库访问技术——ODBC API、MFC ODBC、MFC DAO(面向对象)、MFC OLEDB、和ADO等,这些技术各有自己的特点。为了解决ODBC开发的数据库应用程序访问数据库速度慢的问题,visual C++提供了新的访问技术——OLEDB和ADO。OLEDB和ADO都是基于COM接口技术,可以直接对数据库的驱动程序进行访问,大大提高了访问的速度。
ODBC API技术又叫开放数据库连接,它提供了一个通用的编程接口,允许程序与不同的数据库进行连接,用户可以使用SQL语句对数据库进行直接的底层的操作。在使用ODBC API时,用户需要引入的文件为"sql.h","sqlext.h",和'sqltypes.h"
ODBC API的特点是功能强大。提供了异步操作、事务处理等高级功能。ODBC提供了一套统一的API,使得引用程序可以应用所提供的API来访问任何提供了ODBC驱动程序的数据库。而且,ODBC已经成为一种标准,所以,目前所有的关系数据库都提供了ODBC驱动程序,这使得ODBC的应用非常的广泛。ODBC是一种底层的访问技术,因此,ODBC API可以使用户应用程序从底层设置和控制数据库,完成一些高层数据库无法完成的功能,但是,由于ODBC数据库只能访问关系型数据库,使得利用ODBC很难访问对象数据库及其他非关系数据库。
MFC ODBC类。直接使用ODBC API编写应用程序要编写大量的代码,VC提供了MFC ODBC类,封装了ODBC API函数,使得MFC创建ODBC应用程序变得非常的简单。主要的ODBC类有以下几种
CDatabase类、CRecordSet类、CRecordView类、CDBException类、m_nRetCode\m_strError\m_strStateNativeOrigin等
MFC ODBC类在实际开发中应用最广,因为他功能丰富,操作相对简便。
MFC DAO(数据访问对象)
DAO提供了一种通过程序代码创建和操作数据库的机制,多个DAO构成了一种体系,在这个结构中,各个DAO对象协同工作。
MFC DAO是微软提供的用于访问Microsoft Jet 数据库文件(*.mdb)的强有力的数据库开发工具,它通过DAO封装。
DAO仅用来支持Acess数据库,应用范围相对较窄。
OLEDB
OLEDB是VC++数据库开发技术提供的新技术,它基于COM接口。因此,OLEDB对所有的文件系统,包括关系数据库和非关系数据库都提供了统一的接口。这些特性使得OLEDB技术比传统的数据库访问计数更加优越。与ODBC技术类似,OLEDB属于数据库访问技术的底层接口。
直接使用OLEDB数据库来设计应用程序需要大量的代码。在VC中提供了ATL模板,用于设计OLEDB数据应用程序和数据提供程序。OLEDB框架定义了3个基本类
数据提供程序 Data Provider\Consumer\Servive Provider.
ADO技术是基于OLEDB的访问接口,它继承了OLEDB的技术优点,并且ADO对OLEDB的接口做了封装,定义了ADO对象,使的程序开发得到了简化。ADO基于COM,提供编程语言可利用的对象,除了面向VC++,还提供面向其他各种开发工具的应用,如VB,VJ等。