孙鑫MFC学习笔记-22 数据库编程
22.1数据库访问技术
微软提供了标准的访问数据库接口:
1.ODBC(Open Database Connectivity),开放数据库互连。它为编写关系数据库的客户软件提供了一种统一的接口。ODBC提供一个单一的API,可用于处理不同数据库的客户应用程序。使用ODBC API的应用程序可以与任何具有ODBC驱动程序的关系数据库进行通信。面向C/C++开发人员。
**ODBC体系架构:**客户端<->ODBC驱动程序管理器<->ODBC驱动程序<->各种关系数据库
2.DAO(Data Access Object),数据访问对象。它是微软提供给Visual Basic开发人员的一种简单的数据访问方法,用于操纵Access数据库。
3.RDO(Remote Data Object),远程数据对象。为使用关系数据库的应用程序提供更好的性能。
4.OLE DB,对象链接与嵌入数据库。 OLE DB在两个方面对ODBC进行了扩展。首先, OLE DB提供了一个数据库编程的COM接口;第二, OLE DB提供了一个可用于关系型和非关系型数据源的接口。 OLE DB的两个基本结构是OLE DB提供程序(Provider)和OLE DB用户程序(Consumer)。
5.ADO(ActiveX Data Object),ActiveX数据对象,它建立在OLE DB之上。ADO是一个OLE DB用户程序。使用ADO的应用程序都要间接地使用OLE DB。ADO简化了OLE DB,提供了对自动化的支持,使得像VBScript这样的脚本语言也能够使用ADO访问数据库。
优缺点:
DAO和RDO已经很少使用使用。
OLEDB功能强大,但是对自动化的支持不好,因此一些自动化脚本语言(VBScript)不能使用OLEDB.
ADO:简化了OLDB,是OLDB的用户程序,对自动化脚本友好(VBScript,VB,Delphi)。
下面主要介绍ADO的访问情况,ADO的三个核心对象:
- Connection对象
Connection对象表示了到数据库的连接,它管理应用程序和数据库之间的通信。 Recordset和Command对象都有一个ActiveConnection属性,该属性用来引用Connection对象。 - Command对象
Command对象被用来处理重复执行的查询,或处理需要检查在存储过程调用中的输出或返回参数的值的查询。 - Recordset对象
Recordset对象被用来获取数据。 Recordset对象存放查询的结果,这些结果由数据的行(称为记录)和列(称为字段)组成。每一列都存放在Recordset的Fields集合中的一个Field对象中。