首页 > 代码库 > c++通过ADO连接数据库

c++通过ADO连接数据库

c++通过ADO连接数据库,具体要求步骤如下:

1、要导入连接ADO库文件信息,方法

  1. #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")    rename("BOF","adoBOF")//必须要有(换行要有 \),如果是vc6开发,此句最好放在StdAfx.h头文件中,并且放在 "#endif"上方,不要放在"afxwin.h"头文件之上,否则出错。

  2. using namespace std;      //可有可无

  3. #pragma warning(disable:4146)    //禁止4146错误代码的警告提示,可有可无(此句放在"#import……"之上

2、初始化COM库环境(也就是加载运行ado库文件的支持函数)

    CoInitialize(NULL);    //程序执行时初始化或构造函数时运行,且必须在使用ado函数之前调用

       CoUninitialize( );        //析构函数或程序退出时执行
       
       或在程序执行前(构造函数中)直接执行AfxOleInit(),就不需要调用CoUnitialize(),因为在AfxOleInit()退出时,该函数也执行COM资源的释放
3、声明3个智能指针,功能和作用如下:
    _ConnectionPtr m_pConn;    //主要用于连立与数据库的连接
    m_pConn.CreateInstance(__uuidof(Connection)); //建立对象的实例,也可以用m_pConn.CreateInstance("ADODB.Connection")
    
    _RecordsetPtr m_pRst;    //主要用于对数据库记录的操作
    m_pRst.CreateInstance(__uuidof(Connection));
    _CommandPtr m_pCmd;     //主要用于执行带参数的SQL语句的执行(如果不带参数的SQL语句执行,可以使用_RecordsetPtr)
     m_pCmd.CreateInstance(__uuidof(Connection));
     
4、使用后要释放资源,释放资源前要先关闭:
     m_pCmd.Release();
     m_pRst.Release();
     m_pConn.Release();  //这个指针资源必须最后释放,否则出错


c++通过ADO连接数据库