新手请教 error C2065: 'p_B' : undeclared identifier

new_one_one 2009-12-16 09:43:26
本人新手,有一问题请教:

一VC/MFC对话框程序,IDD_MFCDATA_DIALOG是主对话框,B是一张数据表的MFC ODBC类,IDD_DIALOG_ADD是添加的一个对话框
p_B为B的实例。IDD_DIALOG_ADD是从IDD_MFCDATA_DIALOG点出的模态对话框。
现在 IDD_MFCDATA_DIALOG 上对数据表类 p_B 调用操作没问题,但是在 CIDD_DIALOG_ADD 上调用操作数据表类 p_B 则程序报错,提示错误
1 error C2065: 'p_B' : undeclared identifier


请高手指教
...全文
1149 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaichengshenhua 2011-01-03
  • 打赏
  • 举报
回复
p_SHPMSPMSTUFF,这个玩意没有定义(编译器不知道你定义在那里)。
“->IsOpen”的左边必须指向类/结构/联合/泛型类型
下面同样错误

苏飞哥 2009-12-17
  • 打赏
  • 举报
回复
你实例化的时候P_B对象设置为全局的
new_one_one 2009-12-17
  • 打赏
  • 举报
回复
以下是源代码

// DialogAdd.cpp : 实现文件
//

#include "stdafx.h"
#include "MfcDataDlg.h"

#include "MfcData.h"
#include "DialogAdd.h"

// CDialogAdd 对话框

IMPLEMENT_DYNAMIC(CDialogAdd, CDialog)

CDialogAdd::CDialogAdd(CWnd* pParent /*=NULL*/)
: CDialog(CDialogAdd::IDD, pParent)
{
m_EDIT1="";
m_EDIT2="";
m_EDIT3="";
m_EDIT4=0.0;
m_EDIT5="";
m_EDIT6="";
m_EDIT7="";
m_EDIT8="";
m_EDIT9="A";
m_EDIT10="";
m_EDIT11=0;
}

CDialogAdd::~CDialogAdd()
{
}

void CDialogAdd::DoDataExchange(CDataExchange* pDX)
{

CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_EDIT1);
DDX_Text(pDX, IDC_EDIT2, m_EDIT2);
DDX_Text(pDX, IDC_EDIT3, m_EDIT3);
DDX_Text(pDX, IDC_EDIT4, m_EDIT4);
DDX_Text(pDX, IDC_EDIT5, m_EDIT5);
DDX_Text(pDX, IDC_EDIT6, m_EDIT6);
DDX_Text(pDX, IDC_EDIT7, m_EDIT7);
DDX_Text(pDX, IDC_EDIT8, m_EDIT8);
DDX_Text(pDX, IDC_EDIT9, m_EDIT9);
DDX_Text(pDX, IDC_EDIT10, m_EDIT10);
DDX_Text(pDX, IDC_EDIT11, m_EDIT11);
// DDX_Text(pDX, IDC_DATETIMEPICKER2, m_EDIT12);
}


BEGIN_MESSAGE_MAP(CDialogAdd, CDialog)
ON_BN_CLICKED(IDC_BUTTON_ADD, &CDialogAdd::OnBnClickedButtonAdd)
END_MESSAGE_MAP()


// CDialogAdd 消息处理程序



void CDialogAdd::OnBnClickedButtonAdd()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData();

if(p_SHPMSPMSTUFF->IsOpen())
{
int tmpID=0;
p_SHPMSPMSTUFF->m_strSort = "ID DESC";
p_SHPMSPMSTUFF->Requery();
if(!p_SHPMSPMSTUFF->IsEOF())
tmpID = p_SHPMSPMSTUFF->m_ID +1;
else
tmpID = 1;

p_SHPMSPMSTUFF->AddNew();
p_SHPMSPMSTUFF->m_ID = tmpID;
p_SHPMSPMSTUFF->m_NAME = m_EDIT1;
p_SHPMSPMSTUFF->m_XINGHAO = m_EDIT2;
p_SHPMSPMSTUFF->m_DANWEI = m_EDIT3;
p_SHPMSPMSTUFF->m_PRICE = m_EDIT4;
p_SHPMSPMSTUFF->m_PINPAI =m_EDIT5;
p_SHPMSPMSTUFF->m_CHANGJIA =m_EDIT6;
p_SHPMSPMSTUFF->m_XMBH = m_EDIT7;
p_SHPMSPMSTUFF->m_XMNAME = m_EDIT8;
p_SHPMSPMSTUFF->m_CLLEIBIE = m_EDIT9;
p_SHPMSPMSTUFF->m_CLNEIRONG = m_EDIT10;
p_SHPMSPMSTUFF->m_SHULIANG =m_EDIT11;


try{
p_SHPMSPMSTUFF->Update();
AfxMessageBox("AddNew()成功");
}
catch(CDBException *e){
AfxMessageBox("AddNew()失败");
}
}
else
AfxMessageBox("AddNew()失败");
//CMfcDataDlg::ListShow();
}

错误信息:

错误 1 error C2065: 'p_SHPMSPMSTUFF' : undeclared identifier d:\sx\mfcdata\mfcdata\dialogadd.cpp 67
错误 2 error C2227: left of '->IsOpen' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 67
错误 3 error C2227: left of '->m_strSort' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 70
错误 4 error C2227: left of '->Requery' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 71
错误 5 error C2227: left of '->IsEOF' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 72
错误 6 error C2227: left of '->m_ID' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 73
错误 7 error C2227: left of '->AddNew' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 77
错误 8 error C2227: left of '->m_ID' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 78
错误 9 error C2227: left of '->m_NAME' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 79
错误 10 error C2227: left of '->m_XINGHAO' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 80
错误 11 error C2227: left of '->m_DANWEI' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 81
错误 12 error C2227: left of '->m_PRICE' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 82
错误 13 error C2227: left of '->m_PINPAI' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 83
错误 14 error C2227: left of '->m_CHANGJIA' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 84
错误 15 error C2227: left of '->m_XMBH' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 85
错误 16 error C2227: left of '->m_XMNAME' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 86
错误 17 error C2227: left of '->m_CLLEIBIE' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 87
错误 18 error C2227: left of '->m_CLNEIRONG' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 88
错误 19 error C2227: left of '->m_SHULIANG' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 89
错误 20 error C2227: left of '->Update' must point to class/struct/union/generic type d:\sx\mfcdata\mfcdata\dialogadd.cpp 93

new_one_one 2009-12-16
  • 打赏
  • 举报
回复
有人说
添加
#include "Rsource.h"

stdafx.h
文件中



我添加了,可是还是不行

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧