您的位置:首页 > 数据库

vc++数据库编程中遇到的问题

2010-10-06 22:27 260 查看
error C2027: use of undefined type 'C_Recordset'
f:/program files/microsoft visual studio/myprojects/hrsys/adodc.h(14) : see declaration of 'C_Recordset'
F:/Program Files/Microsoft Visual Studio/MyProjects/HrSys/EmpManDlg.cpp(126) : error C2228: left of '.GetEof' must have class/struct/union type
F:/Program Files/Microsoft Visual Studio/MyProjects/HrSys/EmpManDlg.cpp(144) : error C2027: use of undefined type 'C_Recordset'
f:/program files/microsoft visual studio/myprojects/hrsys/adodc.h(14) : see declaration of 'C_Recordset'
F:/Program Files/Microsoft Visual Studio/MyProjects/HrSys/EmpManDlg.cpp(144) : error C2228: left of '.GetEof' must have class/struct/union type
执行 cl.exe 时出错.

在程序中有这样一段代码:

if(m_Adodc.GetRecordset().GetEof())
{
MessageBox("请选择要修改的记录!");
return;
}

编译时救护出现这个问题,解决方法是添加头文件 #include "_recordset.h"

rror C2039: 'GetItem' : is not a member of 'CDataGrid'
f:/program files/microsoft visual studio/myprojects/hrsys/datagrid.h(24) : see declaration of 'CDataGrid'
F:/Program Files/Microsoft Visual Studio/MyProjects/HrSys/datagrid.cpp(855) : error C2065: 'GetColumns' : undeclared identifier
F:/Program Files/Microsoft Visual Studio/MyProjects/HrSys/datagrid.cpp(855) : error C2440: 'initializing' : cannot convert from 'int' to 'class CColumns'
No constructor could take the source type, or constructor overload resolution was ambiguous
执行 cl.exe 时出错.

出现上面的情况原因是类中并不包含GetItem这个函数,需要手动添加,我当初遇到这个问题时在我拿过上找了很久都么有说清楚,

解决方法如下:

添加GetItem函数,函数代码为

CString CDataGrid::GetItem(int ColNum)
{
CColumns cols=GetColumns();
VARIANT v_ColNum,v_Value;
v_ColNum.vt=VT_I2;
v_ColNum.iVal=ColNum;
CColumn col=cols.GetItem(v_ColNum);
v_Value=col.GetValue();
return v_Value.bstrVal;
}

再编译据不会有错了,这个东西是我在书上抄下来的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: