我是靠谱客的博主 听话砖头,最近开发中收集的这篇文章主要介绍vc++数据库编程中遇到的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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;
}

再编译据不会有错了,这个东西是我在书上抄下来的

最后

以上就是听话砖头为你收集整理的vc++数据库编程中遇到的问题的全部内容,希望文章能够帮你解决vc++数据库编程中遇到的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部