我用ActiveX写一个控件,要求每3秒钟从数据库中读数据,如果找到符合要求的数据就将该记录从数据库中删除,同时触发事件通知调用该控件的程序。但是我在运行时总是在CoCreateInstance(CLSID_CADOConnection, NULL, CLSCTX_INPROC_SERVER, IID_IADOConnection, (LPVOID *)&m_piConnection) );出错,错误代码为“80040154”。
老板要求我用ActiveX封装ADO访问数据库,但我试到现在还是没有成功,请高手指点一二。

解决方案 »

  1.   

    当然可以了,你可以用智能接口指针来访问。
    #import "c:\Program files\common files\system\ado\msado15.dll"  rename("EOF","adoEOF")
      

  2.   

    #import "c:\Program files\common files\system\ado\msado15.dll"  rename("EOF","adoEOF")
    long count;
    _ConnectionPtr pCon(__uuidof(Connection));
    pCon->Open("DSN=xxx;UID=xx;PWD=xx",&count,NULL);
    ....
      

  3.   

    你用CoCreateInstance 的时候做好先import msado15.dll;不然你要使用IDispatch 的指针保存地址;其实楼上的方法最简单,建议使用^_^
      

  4.   

    问题差不多.用VB很容易.谁有用VC这方面的经验.说一声呗.我的是ACTIVEX里用WINSOCK.
      

  5.   

    你研究一下这个:
    http://www.codeguru.com/mfc/comments/38134.shtml