zoukankan      html  css  js  c++  java
  • MFC通过ADO链接SQL数据库

    1.初始化COM环境

    由于ADO库是一个COM动态库,所以在应用程序调用ADO之前,必须初始化COM环境,在MFC的应用程序里,通常使用CoInitialize函数初始化COM环境,在程序结束时使用CoUninitialize函数来释放COM环境。

    语法:HRESULT CoInitialize(_in_opt LPVOID pvReserved);

    参数被保留,且必须为NULL。

    返回值:

    S_OK:该线程中COM库初始化成功

    S_FALSE:该线程中COM库已经被初始化

    在程序类的InitInstance函数中初始化COM环境,代码如下

    :: CoInitialize(NULL); //初始化COM环境

    在程序最后还有释放COM环境,代码如下

    :: CoUninitialize();//释放COM环境

    注:也可以用AfxOleInit()函数来初始化COM环境

    2.导入ADO动态链接库

    在使用ADO技术时,需要导入一个ADO动态链接库msado15.dll,该动态链接库位于系统盘的“Program Files\Common Files\System\ado\”目录下。当未对ADO操作封装成类时,可以在“StdAfx.h”头文件中导入msado15.dll文件。

    具体导入代码如下:

    #import “C:\ Program Files\Common Files\System\ado\msado15.dll” no_namespace\

    rename(“EOF”,”adoEOF”)rename(“BOF”,”adoBOF”)

    在上面的代码中,通过预编译指令#import来告诉编译器将动态链接库导入到程序中,no_namespace则指示ADO对象不使用命名空间,第2行代码表示将ADO中的EOF改为adoEOF,将BOF改为adoBOF,以避免与其他库中的EOF和BOF相冲突。

    3.定义ADO智能指针

    在使用ADO对象开发应用程序时,有一些ADO的支持类可以使ADO对象在使用起来变得更方便。_com_ptr_t类就是其中一个,在msado15.tlh中基于_com_ptr_t类定义了几种智能指针,包括链接对象指针(_ConnectionPtr),命令对象指针(_CommandPtr),记录集对象指针(_RecordsetPtr)。通过这些指针可以很容易地创建和删除ADO对象。

    首先,声明一个智能指针,代码如下:

    _ConnectionPtr m_pConnection;

    然后,通过CreateInstance函数创建对象实例,代码如下:

    m_pConnection.CreateInstance(“ADODB.Connection”);//第一种方法

    m_pConnection.CreateInstance(_uuidof(Connection));//第二种方法

    代码实例:创建一个名为ADOConn的类来封装ADO操作

  • 相关阅读:
    Python与常见加密方式
    ERROR 2002 (HY000):Can't connect to local MySQL server though socket '/var/lib/mysql/mysql.sock'(2)
    hive的分区表
    内部表和外部表的区别
    hive之SQL
    执行wc的时候提示连接被拒绝。Connection refused
    hive的简介
    hive的部署
    top命令信息
    web界面解读
  • 原文地址:https://www.cnblogs.com/marshhu/p/2981696.html
Copyright © 2011-2022 走看看