使用ADO前必须在工程的stdafx.h文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下:    #include 〈comdef.h〉    #import "c:\program files\common files\system\ado\msado15.dll"   no_namespace    rename ("EOF","adoEOF")   头文件comdef.h使我们的应用程序能够使用Visual C++中的一些特殊COM支持类,这些类使得处理OLE自治更为容易一些,OLE自治是ADO使用的数据类型。后三行使用#import指令在我们的应用程序中输入ADO类库定义。   ADO类的定义是作为一种资源存储在ADO DLL(msado15.dll)中,在其内部称为类型库。类型库描述了自治接口,以及C++使用的COM vtable接口。当使用#import指令时,在运行时Visual C++需要从ADO DLL中读取这个类型库,并以此创建一组C++头文件。这些头文件具有.tli 和.tlh扩展名,读者可以在项目的目录下找到这两个文件。在C++程序代码中调用的ADO类要在这些文件中定义。   程序的第三行指示ADO对象不使用名称空间。在有些应用程序中,由于应用程序中的对象与ADO中的对象之间可能会出现命名冲突,所以有必要使用名称空间。如果要使用名称空间,则可把第三行程序修改为: rename_namespace("AdoNS")。第四行代码将ADO中的EOF(文件结束)更名为adoEOF,以避免与定义了自己的EOF的其他库冲突。 

解决方案 »

  1.   

    在你的stdafx.h中包含#include <afxdisp.h>试试
    按道理MFC的程序中不会出现该问题呀
      

  2.   

    查看你的CNariQueryApp的.h文件,看看是否有AfxOleInit,有的话,删掉。--Jady
      

  3.   

    http://www.vckbase.com/document/
    这里有详细的此类文档,你可以看一下!
      

  4.   

    在应用程序累的InitInstance函数初始话OLE/COM库环境,::AfxOleInit()时,::AfxOleInit()
    ::AfxOleInit()
      

  5.   

    #import和#include <afxdisp.h>这些我都做了呀,并且如果我不把AfxOleInit加进去的话,程序可以编译,还能长生.tli .tlh文件
      

  6.   

    http://www.vckbase.com/document/
    到这里看一下吧! 
    VC关于数据库的问题我也不是很清楚!
    上面的网站里有很多这方面的资料!
    会对你有帮助的!
      

  7.   

    楼上的bskay(bskay)太谢谢你了,依照你的提示,我的编译通过了!!!!初次来到这里,就得到大家这么多的帮助,真是很开心,非常谢谢大家!!!不过,我的数据还是调不出来,我55555,让我先研究研究,如果还有难题,我会再请教大家的,大家不要烦我啊!!
      

  8.   

    我去http://www.vckbase.com/document/看看,谢谢“萨克斯风”