在hr=pConnection.CreateInstance(__uuidof(Connection));之前加入Ole初始化函数
CoInitialize(NULL);
就可以了。

解决方案 »

  1.   

    我加了::CoInitialize(NULL);,还是不行!
    导入的是msado15.dll。
      

  2.   

    把你的msado15.dllmsado15用regsvr32注册一下
      

  3.   

    笔误:
    更正
    把你的msado15.dll用regsvr32注册一下
      

  4.   

    用_com_inssue_error(hr)看错误信息。CoInitialize(NULL);是一定要加的。
      

  5.   

    我regsvr32 msado15.dll时显示
    LoadLibrary("msado15.dll") failed.
    GetLastError return 0x00000485.
    msado15.dll应该是VC安装时自动注册的吧,注册表里有啊。
      

  6.   

    返回错误说明注册没有成功,或者msado15.dll已毁坏,重新找一个msado15.dll注册,最好重新安装ADO包.
      

  7.   

    重找了一个msado15.dll注册出现同样错误.ADO包如何安装?
      

  8.   

    最简单的方法就是安装一个SQL
      

  9.   

    使用ADO要自己去注册msado15.dll么?再说我机器上已经有SQL桌面版。
    我在别人的机器上手工注册msado15.dll,出现同样错误。
    请高手指点一下。
      

  10.   

    你在别人的机器上试一下运行你的程序,看一下能否实例化,如果可以,则说明你的程序有问题,如果不可以,则说明你的ADO有问题,重装ADO有很多种方法,例如重新安装Visual Studio 中的
    Data Access ,或安装Office 2000等等,如果还不行,重新安装系统吧,呵呵,祝你好运!
      

  11.   

    从微软的网站上当了个Data Assess组件,安装后OK,谢谢Rabit9556和sxbyl。
    顺便再请教一个问题:OLE初始化放在哪里合适?应用的进入和退出还是数据操作的前后。