ADO接口

 

1.ADO库导入。在stdafx.h 下:

//引入ADO库
#import "C://Program Files//Common Files//System//ado//msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")

 //no_namespace表示不使用命名空间,rename("EOF","adoEOF")表示把ADO中用到的EOF改为adoEOF,防止发生命名冲突。

//编译后不需要另外添加其他头文件,就可以使用ADO接口了

2.初始化COM库

ADO库是一组COM动态库,在调用ADO前,必须初始化COM库环境。

在MDC里,初始化COM库环境比较好的位置是在应用类InitInstance成员函数中

方法一:

//使用AfxOleInit,在退出应用时该函数也负责COM的释放
BOOL CExpApp::InitLnstance()
{
//初始化
if(!
AfxOleInit())
{

AfxMessageBox("初始化ole dll失败!");
return FALSE;
}

......
}
//Afx前缀是MFC一个小组的名称简写,没有特别意义,MFC很多代码都使用了Afx

方法二:使用::ConInitialize初始化,::CoUninitialize释放

 

3.创建一个connection对象

 _ConnectionPtr接口,该接口返回一个记录集或空指针。通常用它来创建一个数据库连接,或执行一条不返回任何结果的SQL语句,如一个存储过程。

不推荐使用_ConnectionPtr返回记录集,对于要返回记录集的操作通常用_RecordsetPtr来实现。

 

 

 声明一个_ConnectionPtr指针

 

_ConnectionPtr pConnection=NULL;

//_ConnectionPtr 主要是一个连接接口,取得与数据库的连接。他的连接字符串可以是直接写,也可以指向一个ODBC DSN

//创建Connection对象(两种方法)

pConnection.CreateInstance(_uuidof(Connection));

pConnection.CreateInstance(ADODB.Connection");

ADO最重要的三个对象:连接对象(Connection),命令对象(Command),记录集对象(RecordSet),使用这三个对象时,需要定义与之相对应的智能指针,分别为:

_ConnectionPtr ,_CommandPtr,_RecordsetPtr 
智能指针需要先定义指针变量,创建实例,然后就可以调用其方法和属性。

 

 

4.打开连接,建立Connection对象实例之后,需要调用Open()函数来打开数据源的连接:

HRESULT Open(_bstr_t ConnectionString,_bstr_t  UserID,_bstr_t Password,long Options);

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-04-05 18:55  坦坦荡荡  阅读(313)  评论(0编辑  收藏  举报