在打开数据库中的表时,我是用下列方式打开的
m_pRecordset->Open("SELECT * FROM STUDENTS",theApp.m_pDBConnect.GetInterfacePtr()
                  adOpenDynamic,
                  adLockOptimistic,
adCmdText);
但编译时总出现下列错误:DialogSTU.obj : error LNK2001: unresolved external symbol "class CYDMSApp theApp" (?theApp@@3VCYDMSApp@@A)
搞得我不知其所以然,但我想问题是与theApp有关的,请教各路高手帮小弟看看如何解决;

解决方案 »

  1.   

    和你代码没关系,看一下声明之后,是否定义了 CYDMSApp theApp
      

  2.   

    既然说你的theApp没有定义,看看是否包含了相应头文件。
      

  3.   

    我把  CYDMSApp  theApp 放在YDMS.h后,然后build下,竟然说
    DMS.obj : error LNK2005: "class CYDMSApp theApp" (?theApp@@3VCYDMSApp@@A) already defined in DialogSTU.obj
    YDMSDlg.obj : error LNK2005: "class CYDMSApp theApp" (?theApp@@3VCYDMSApp@@A) already defined in DialogSTU.obj
    Debug/YDMS.exe : fatal error LNK1169: one or more multiply defined symbols found
    执行 link.exe 时出错.
    怎么回事?
      

  4.   

    D:\vcstudy\YDMS\DialogSTU.cpp(94) : error C2065: 'theApp' : undeclared identifier
    D:\vcstudy\YDMS\DialogSTU.cpp(94) : error C2227: left of '->m_pDBConnect' must point to class/struct/union
    D:\vcstudy\YDMS\DialogSTU.cpp(94) : error C2228: left of '.GetInterfacePtr' must have class/struct/union type
    执行 cl.exe 时出错.
    在定义中,theApp已经是全局变量了,不可能没有定义啊,
      

  5.   

    one or more multiply defined symbols found
    你重复定义了.
    'theApp' 第一:你在原来地方定义的时候你删除没
    D:\vcstudy\YDMS\DialogSTU.cpp(94) : error C2065: 'theApp' : undeclared identifier
    没定义.重新生成代码试试
         
      

  6.   

    用((CMyApp *)AfxGetApp())->m_pDBConnect.GetInterfacePtr()CMyApp 是你的app类名
      

  7.   

    1,照handsomerun(毛毛)说得做.
    2,因为theApp是声明在.cpp中的,所以你引用时要在相关cpp文件中声明extern CMyApp theApp;
      

  8.   

    extern CYDMSApp theApp;