当前位置:编程学习 > VC++ >>

在VC中使用ADO开发数据库应用程序

 

 

一、ADO概述

 

ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于

使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE.DB 提供者访问

和操作数据库服务器中的数据。ADO 最主要的优点是易于使用、速度快、内存支

出少和磁盘遗迹小。ADO 在关键的应用方案中使用最少的网络流量,并且在前端

和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之

所以称为 ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口。

 

OLE DB是一组”组件对象模型”(COM) 接口,是新的数据库低层接口,它封装

了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。OLE DB是

Microsoft UDA(Universal Data Access)策略的技术基础。OLE DB 为任何数据

源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件

系统、文本和图形、自定义业务对象等等。也就是说,OLE DB 并不局限于

ISAM、Jet 甚至关系数据源,它能够处理任何类型的数据,而不考虑它们的格式

和存储方法。在实际应用中,这种多样性意味着可以访问驻留在 Excel 电子数据

表、文本文件、电子邮件/目录服务甚至邮件服务器,诸如 Microsoft Exchange 中

的数据。但是,OLE DB 应用程序编程接口的目的是为各种应用程序提供最佳的

功能,它并不符合简单化的要求。您需要的API 应该是一座连接应用程序和

OLE DB 的桥梁,这就是 ActiveX Data Objects (ADO)。

 

 

二、在VC中使用ADO

 

1、引入ADO库文件

 

使用ADO前必须在工程的stdafx.h文件里用直接引入符号#import引入ADO库文件,

以使编译器能正确编译。代码如下所示:

 

代码1:用#import引入ADO库文件

 

#import "c:program filescommon filessystemadomsado15.dll"

 

no_namespaces rename("EOF" adoEOF")

 

这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免常数冲

突,将常数EOF改名为adoEOF。现在不需添加另外的头文件,就可以使用ADO接口

了。

 

2、初始化OLE/COM库环境

 

必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初

始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类

的InitInstance成员函数里初始化OLE/COM库环境。

 

 

 

代码2:初始化OLE/COM库环境

 

BOOL CADOApp::InitInstance()

 

{

 

if(!AfxOleInit())

 

 

 

{

 

AfxMessageBox(“OLE初始化出错!”);

 

return FALSE;

 

}

 

……

 

 

 

}

 

函数AfxOleInit在每次应用程序启动时初始化OLE/COM库环境。

 

同DAO和Cdatabase一样,ADO由几个接口组成:

 

_ConnectionPtr,_CommandPtr和_RecordsetPtr.

 

不同于DAO和Cdatabase的是,ADO基于COM的接口,因此,假如你没有接触过

COM,你应该在使用ADO前先找有关书籍了解一下COM。

 

3、ADO接口简介

 

ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。

 

 

_ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数

据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用_ConnectionPtr接

口返回一个记录集不是一个好的使用方法。通常同Cdatabase一样,使用它创建

补充:软件开发 , Vc ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,