我按照在DLG的方法,先在stdafx.h中添加了
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
然后在BOOL CXXXXApp::InitInstance()中添加了
{
AfxEnableControlContainer();
if(!AfxOleInit())
{
AfxMessageBox("OLE初始化出错!");
return FALSE;
}
...}但是为什么我新建了一个叫NEW的对话框后,在这个NEW.H中添加
_variant_t RecordsAffected;
_CommandPtr m_pCommand;
_ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset;
会狂报错,说找不到这个类型啊。请问我该怎么做才能在单文档模式中使用ADO连接啊

解决方案 »

  1.   

    方法是一样的啊。DLG中有stdafx.h吧,rebuild all 也不行?
      

  2.   

    CoInitialize(NULL); 初始化COM环境了没?
      

  3.   

    NEW.H 中应该有#include "stdafx.h"吧?
      

  4.   

    qlftl(★★路漫漫其修远兮,吾将上下而求索!★★) ( ) 信誉:100    Blog   加为好友 
    方法是一样的啊。DLG中有stdafx.h吧,rebuild all 也不行?我也遇到了同样的问题啊,在“对话框程序模式”下可以正常使用!!
    但是在单文档程序中就报错:“_ConnectionPtr 没有定义!”等等。
    期盼高手的指点
    谢谢了!!
      

  5.   

    其实有种办法可以通过编译,就是在建单文档程序过程中指定使用DataBase,但是这样做就是程序失去了灵活性了,只能访问固定的数据库中的的固定表
    难道在单文档程序中就没法使用ADO吗?
      

  6.   

    在stdafx.h头文件中找到下面的语句:
    #ifndef _AFX_NO_DAO_SUPPORT
    #include <afxdao.h> // MFC DAO 数据库类
    #endif // _AFX_NO_DAO_SUPPORT把上面的三句话注释掉就可以了.