包含了头文件为什么还会出错啊??!

xinhuan020 xinhuan020 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
4.是这样的:

我在AccountDBSS.h中对_ConnectionPtr m_pConnection定义了如下
class CAccountDBSSApp : public CWinApp
{
public:
virtual int ExitInstance();
CAccountDBSSApp();
_ConnectionPtr m_pConnection;

并且在我的AccountDBSSDlg.cpp中也包含了如下头文件
#include "AccountDBSS.h"
#include "AccountDBSSDlg.h"

但是为什么运行到下面的程序
try
{

// _RecordsetPtr m_pRecordset;
m_pConnection.CreateInstance(_uuidof(Connection)); //初始化Connection指针
m_pRecordset.CreateInstance("_uuidof(Recordset)");//初始化Recordset指针
m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
_bstr_t strConnect="Provider=OraOLEDB.Oracle.1;Password=dbaccount;User ID=dbaccount;Data Source=ORADB;Persist Security Info=True";
//连接参数可以不需要用户ID或密码;
m_pConnection->Open(strConnect,"","",-1);
m_pRecordset->Open("select seq_income_id.NEXTVAL from dual",(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
int id = 1;
if(!m_pRecordset->adoEOF)
{
_variant_t TheValue;
//从系列中获取新的收入ID值;
TheValue = m_pRecordset->Fields->GetItem((short)0)->Value;
if(TheValue.vt != VT_NULL)
id = TheValue.iVal;
m_pRecordset->MoveNext();//转到下一条纪录
}

m_pRecordset->Close();


_variant_t RecordsAffected;
//插入新的收入信息记录;
CString sql;
sql.Format("insert into income_info_tab(income_id,""income_date,income_type,money,""description) values(""%d,""to_date('%s','yyyy-mm-dd'),""'%s',%.2f,'%s')",id,strDate,txtType,m_dbIncomeMoney,m_strIncome);
TRACE(sql);
m_pConnection->Execute(_bstr_t(sql),&RecordsAffected,adCmdText);
//刷新ADO数据控件的数据,从而更新数据显示
m_adoIncomeDataCtrl.Refresh ();
// m_pConnection->Close();
InitControl();

}
catch(_com_error e)//异常处理;
{
AfxMessageBox(e.ErrorMessage());
AfxMessageBox("测试");
}
提示如下的错误:

--------------------Configuration: AccountDBSS - Win32 Debug--------------------
Compiling...
AccountDBSS.cpp
Generating Code...
Compiling...
AccountDBSSDlg.cpp
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(339) : error C2065: 'm_pConnection' : undeclared identifier
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(339) : error C2228: left of '.CreateInstance' must have class/struct/union type
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(341) : error C2228: left of '.CreateInstance' must have class/struct/union type
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(344) : error C2227: left of '->Open' must point to class/struct/union
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(365) : error C2227: left of '->Execute' must point to class/struct/union
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(396) : error C2227: left of '->Execute' must point to class/struct/union
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(488) : error C2228: left of '.CreateInstance' must have class/struct/union type
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(490) : error C2228: left of '.CreateInstance' must have class/struct/union type
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(493) : error C2227: left of '->Open' must point to class/struct/union
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(512) : error C2227: left of '->Execute' must point to class/struct/union
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(516) : error C2227: left of '->Close' must point to class/struct/union
G:\工作区\学习\毕业设计\AccountDBSS\AccountDBSSDlg.cpp(546) : error C2227: left of '->Execute' must point to class/struct/union
DlgProxy.cpp
Generating Code...
Skipping... (no relevant changes detected)
ACStatQuerys.cpp
Error executing cl.exe.

AccountDBSS.exe - 12 error(s), 0 warning(s)


...全文

相关推荐

防止变量重复定义、头文件重复包含、嵌套包含

#### 三、防止头文件重复包含**问题描述:**在C/C++程序中,头文件通常包含了函数声明、类型定义等信息。

lzh280

我们的程序为什么需要头文件

什么是源文件、什么是头文件 我所见到的最好的答案: 通常,在一个 C++ 程序中,只包含两类文件―― .cpp 文件和 .h 文件。其中,.cpp 文件被称作 C++ 源文件,里面放的都是 C++ 的源代码;而 .h 文件则被称作 C++ 头文件,里面放的也是 C++ 的源代码。 个人理解: 我们为一个工程或项目所写的所有程序文件都可以被称为源文件。其中源文件包括头文件(C语言的.h文件 \ C+...

风雨也从容

C语言头文件组织与包含原则_c语言头文件_c语言头文件组织与包含原则_

通过遵循这些原则和技巧,开发者能够有效地组织和管理C语言的头文件,从而降低出错的可能性,提高代码质量和可维护性。对于大型项目来说,良好的头文件组织和包含策略是保证项目顺利进行的基础。

程籽籽

类为什么放在头文件里不行

然而,有时将类的定义全部放在头文件中可能会导致一些问题,这正是“类为什么放在头文件里不行”的核心所在。以下将详细解释这个问题以及解决方案。1.

小马哥哥哥

unix网络编程 出错后需加的头文件.zip

在"unix网络编程 出错后需加的头文件.zip"这个压缩包中,包含的四个头文件——apue.h、if_dl.h、ourhdr.h和myerr.h,各自扮演了不同的角色。

陈某某418
评论 1
收藏 已收藏
分享
返回顶部
xinhuan020
数据库 4,017 成员 39,805 内容