请在adosjView.cpp 文件中包含theApp所在的文件名(#include "**.h")

解决方案 »

  1.   

    这个theApp只是那个类的一个对象呀,你要的话用AfxGetApp()
      

  2.   

    theApp没有定义
    先#include "YourApp.h"
    然后如下使用:CYourApp* pApp = (CYourApp*)AfxGetApp();
    pApp->m_pConnection
      

  3.   

    既然'theApp' 是 undeclared identifier
    那就看看theApp的定义是不是有问题
      

  4.   

    请大家注意,不光是只有一条错误提示,而且还有第二条,我在别人的代码中就看到过
    theApp.m_pConnection这样的用法,而且编译通过。为什么我的会有问题,theApp是VC自动生成的,应该不会定义错误,而#include"xxxxApp.h"也有定义,为什么还是不行?还有第二条错误提示是什么意思?D:\C++练习目录\adosj\adosjView.cpp(76) : error C2065: 'theApp' : undeclared identifier
    D:\C++练习目录\adosj\adosjView.cpp(76) : error C2228: left of '.m_pConnection' must have class/struct/union type
    Generating Code
      

  5.   

    theApp没定义
    突然出现个.m_pConnection自然会出错
      

  6.   

    theApp是VC自动生成的
    m_pConnection是否也是电脑自动生成的
    如果不是,重新定义
      

  7.   

    m_pConnection是在CxxxApp类中早已定义的。用theApp来调用应该可以的,但为什么不行呢?
      

  8.   

    还有就是_pRecordset是在CXXXView中定义的,是在这个类中调用CXXXApp中的m_pConnection,所以用了theApp.m_pConnection,为什么不行呢?
      

  9.   

    还是把theApp.m_pConnection改成AfxGetApp()->m_pConnection吧
    我试过了好用
    你试试
      

  10.   

    1.theApp并不代表你工程的app.你用#include 必须#include CXXX.cpp
    2.m_pConnettion也不属于CXXXApp.
      

  11.   

    那你在CXXXApp类里定义了m_pConnection了么
      

  12.   

    theApp不是全局的吗?为什么不可以直接调用?请明示!
      

  13.   

    我以上的做法可以保证你程序编译不出错,
    但保你运行结果出错,如果不想结果出错的话,就不用theApp了,
    CXXXApp* pApp=(CXXXApp*)AfxGetApp();
    pApp->m_pConnection
    上个贴子写错了,你的m_pConnettion是属于app的,照我的做法应该不会错。
      

  14.   

    D:\C++练习目录\adosj\adosjView.cpp(76) : error C2228: left of '.m_pConnection' must have class/struct/union type
    Generating Code... 
    用你的方法第一条提示确实没有了,但还有第二条。
    那这条提示的意思是什么呢?
    还有theApp.m_pConnection这个用法不是我想出来的,而是我看别人的源码就是这么用的。
     
      

  15.   

    m_pConnection' 是不是它的成员?》
      

  16.   

    在任何地方调用它的成员没错,但你得#include "CXXX.app"
      

  17.   

    class cxxxApp
    {
    public:
    cxxxApp()
    _ConnectionPtr m_pConnection;
    .......
    }
      

  18.   

    _ConnectionPtr 是怎么定义的呢?没定义是吧。
      

  19.   

    我找到毛病了,应该只缺这一行:
    extern CxxxApp theApp;
    然后就可以用theApp.m_pConnection了。
    _ConnectionPtr定义了。
    还有就是第二条提示你怎么看。
      

  20.   

    我是参考一个范例做的,他的源码在
    http://www.vckbase.com/vckbase/中你可以看看,题目是《ADO第一次亲密接触 -- ADO开发实践之一》在他的第十其杂志中。我只不过是改了改。
      

  21.   

    第二条是你的_ConnectionPrt结构是在哪定义的。
      

  22.   

    )初始化COM库,引入ADO库定义文件
    (2)用Connection对象连接数据库
    (3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。
    (4)使用完毕后关闭连接释放对象。准备工作:
    为了大家都能测试本文提供的例子,我们采用Access数据库,您也可以直接在我们提供的示例代码中找到这个test.mdb。
    下面我们将详细介绍上述步骤并给出相关代码。
    【1】COM库的初始化
    我们可以使用AfxOleInit()来初始化COM库,这项工作通常在CWinApp::InitInstance()的重载函数中完成,请看如下代码:
    BOOL CxxxxApp::InitInstance()
      {
      AfxOleInit();
      ...... 【2】用#import指令引入ADO类型库
    我们在stdafx.h中加入如下语句:(stdafx.h这个文件哪里可以找到?你可以在FileView中的Header Files里找到)
    #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
      

  23.   

    好了,谢谢大家了,更要谢谢favan(非)的帮助,虽然几次给你加分,但不知为什么,总是不好使(比较笨,请原谅)。我的QQ是:67974664欢迎你的加入,谢谢!
      

  24.   

    favan(非)交个朋友吧!今天有事,先走一步,欢迎加我的QQ,如何!