MFC用ADO连接SQL出现了很神奇的有关问题

MFC用ADO连接SQL出现了很神奇的问题
这是在登陆窗口,不是主窗口的SQL操作,完全正确
_RecordsetPtr m_pRecordset;//ADO,指向Recordset对象的指针
_ConnectionPtr m_pConnection;//ADO,指向Connection对象的指针

OnInitADOConn()
{
    try
   {
      //创建连接对象实例
   m_pConnection.CreateInstance("ADODB.Connection");
   //设置连接字符串
   CString strConnect="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=yang;Password=yangjinze;Initial Catalog=物品数据库;Data Source=PC-201107091723";

       //使用Open方法连接数据库
   m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
   }
catch(_com_error e)
{
    MessageBox("数据库连接失败!");
}
}
void CDengluDlg::ExitConnect()
{
    //关闭记录集和连接
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
}
但是当我在另外一个一个子窗口MoneyDlg,同样添加上面的代码,
在声明完变量
_RecordsetPtr m_pRecordset;//ADO,指向Recordset对象的指针
_ConnectionPtr m_pConnection;//ADO,指向Connection对象的指针
没错,
但是添加函数OnInitADOConn()或者ExitConnect()
就会报错
error C2146: syntax error : missing ';' before identifier 'MoneyDlg'
c:\documents and settings\administrator\桌面\刷卡\复件 2012-12-05\swipingcard\swipingcarddlg.h(30) : error C2501: 'CMoneyDlg' : missing storage-class or type specifiers
c:\documents and settings\administrator\桌面\刷卡\复件 2012-12-05\swipingcard\swipingcarddlg.h(30) : error C2501: 'MoneyDlg' : missing storage-class or type specifiers
指向的是主窗口中
public:
   CMoneyDlg MoneyDlg;
但是这完全是正确的,无论上述ADO初始化的函数添加到哪一个类,报错的地方都是这个,而且把添加的函数变量都删除的话,报错的也是这里。。。。。。。不添加就没事
难道ADO在一个工程中只能在一个类中定义使用?
------最佳解决方案--------------------
估计又是仅仅是文件映射。真实文件路径没引入就会向楼主看到的那样。

可以再项目属性里设置文件路径,如果怕麻烦就拷贝到工程当前路径。
------其他解决方案--------------------
你另外的子窗体引入.h是否正确?
------其他解决方案--------------------
你没有#include CMoneyDlg的头文件
------其他解决方案--------------------
public:
    CMoneyDlg MoneyDlg;

在这个声明的.h文件中,#include CMoneyDlg的头文件就可以了
------其他解决方案--------------------
MoneyDlg.OnInitADOConn()或者MoneyDlg.ExitConnect();
假设OnInitADOConn()或者ExitConnect()是在MoneyDlg类里定义的函数

------其他解决方案--------------------
public:
    CMoneyDlg MoneyDlg;
必须引入头文件 include "MoneyDlg.h"
------其他解决方案--------------------
引用:
public:
    CMoneyDlg MoneyDlg;

在这个声明的.h文件中,#include CMoneyDlg的头文件就可以了

这个真有。。。。。。
------其他解决方案--------------------
引用:
估计又是仅仅是文件映射。真实文件路径没引入就会向楼主看到的那样。

可以再项目属性里设置文件路径,如果怕麻烦就拷贝到工程当前路径。


我没用public:
    CMoneyDlg MoneyDlg;
而是在函数中CMoneyDlg *pMoneyDlg=new CMoneyDlg;这样就可以了
感觉就是你说的问题只是我用的是VC6.0,怎么在项目属性里设置文件路径??拷贝到工程当前路径意思是把该类的文件放在工程文件夹?但它本来生成的时候就在那里了呀?
------其他解决方案--------------------