我编一个SDI的程序要使用数据库,在打开stdafx.h文件,将下列内容添加到所有的include指令之后:
#include <icrsint.h>   //Include support for VC++ Extensions
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" \
   no_namespace rename("EOF", "adoEOF")编译一切通过,debug里也产生msado15.tlh和msado15.tli
但当我在程序里声明_ConnectionPtr m_pConnection=NULL; 时就出错,
显示:_ConnectionPtr    undeclared identifier
这是为什么呀,急。在另一个程序里,同样如此编写,就完全正常。
也能读写数据库请教高手

解决方案 »

  1.   

    声明_ConnectionPtr m_pConnection=NULL;的cpp里有没有include "stdafx.h",记得把#import放在stdafx.h的最后。
      

  2.   

    加入命名空间:
         改为;  ADODB::_ConnectionPtr m_pConnection=NULL
    就可以解决问题
      

  3.   

    请确认_ConnectionPtr m_pConnection=NULL;的cpp里有没有include "stdafx.h"? 也和#import放在stdafx.h的位置有关。
      

  4.   

    我肯定加了include "stdafx.h"  ,import 也放在stdafx.h的最后了。
    试了下;  ADODB::_ConnectionPtr m_pConnection=NULL
    错误多了条:'ADODB' : is not a class or namespace name不行呀,老大们救命呀
      

  5.   

    建议使用这个已经封装好的类http://www.codetools.com/database/caaadoclass1.asp
      

  6.   

    关键是,你在用#import时,用了no_namespace,它关闭了ADO的命名空间。
    去掉no_namespace rename("EOF", "adoEOF")
      

  7.   

    我也遇到给你一样的问题,后来就是因为#import没放在stdafx.h最后
    你这个就不知道了
      

  8.   

    我一开始就是把#import放在stdafx.h最后的,
    甚至变成灰色了
      

  9.   

    哪位大侠公布个email,我把源程序发过来,请指正。
    其实我程序就是用appwizard生成的对话框,
    什么事都没干,就加了这点代码