编译出错怎么改,高手指点

lisypro 2005-12-29 02:53:45
void CDAOView::OnStuffView()
{
// TODO: Add your command handler code here
//设置当前操作的数据库表名称
m_strTableName=_T("物品");
//监督DAO数据库对象的有效性,并在记录集对象打开时关闭记录集
if(!m_pDatabase->IsOpen())return;
if(!m_pRecordset)return;
if(m_pRecordset->IsOpen())m_pRecordset->Close();
//清除所有视图上的显示
CListCtrl & ctlList=(CListCtrl&)GetListCtrl();
EraseList();
//取表的结构信息
CDaoFieldInfo fieldInfo;
int nFields;
CDaoTableDef td(m_pDatabase);
try
{
td.Open(m_strTableName);
nFields=td.GetFieldCount();
for(int j=0;j<nFields;j++)
{
td.GetFieldInfo(j,fieldInfo);
int nWidth=ctlList.GetStringWidth(fieldInfo.m_strName)+15;
ctlList.InsertColumn(j,fieldInfo.m_strName,LVCFMT_LEFT,nWidth);
}
}
catch(CDaoException * e)
{
e->ReportError();
e->Delete();
return;
}
td.Close();
//取表的数据
int nItem=0;
try
{
CString strSelect(_T("Select * From ["));
strSelect+=m_strTableName;
strSelect += _T("]");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while(!m_pRecordset->IsEOF())
{
COleVariant var;
var=m_pRecordset->GetFieldValue(0);
ctlList.InsertItem(nItem,CCrack::strVARIANT(var));
for(int i=0;i<nFields;i++)
{
var=m_pRecordset->GetFieldValue(i);
ctlList.SetItemText(nItem,i,CCrack::strVARIANT(var));
}
nItem++;
m_pRecordset->MoveNext();
}
}
catch(CDaoException *e)
{
e->ReportError();
e->Delete();
return;
}
//显示信息
CString strRecCount;
strRecCount.Format(_T("显示了%d条记录。"),nItem);
UpdateWindow();
if(nItem>=MAXRECORDS) MessageBox(strRecCount);
((CFrameWnd *)AfxGetMainWnd())->SetMessageText(strRecCount);



}
--------------------Configuration: DAO - Win32 Debug--------------------
Compiling...
DAOView.cpp
E:\c\Dao\DAOView.cpp(141) : error C2065: 'EraseList' : undeclared identifier
E:\c\Dao\DAOView.cpp(176) : error C2653: 'CCrack' : is not a class or namespace name
E:\c\Dao\DAOView.cpp(176) : error C2065: 'strVARIANT' : undeclared identifier
E:\c\Dao\DAOView.cpp(180) : error C2653: 'CCrack' : is not a class or namespace name
E:\c\Dao\DAOView.cpp(196) : error C2065: 'MAXRECORDS' : undeclared identifier
执行 cl.exe 时出错.

DAO.exe - 1 error(s), 0 warning(s)
...全文
179 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangk 2005-12-31
  • 打赏
  • 举报
回复
GetListCtrl().DeleteAllItems();
lisypro 2005-12-31
  • 打赏
  • 举报
回复
如何实现清空List
lisypro 2005-12-30
  • 打赏
  • 举报
回复
有人把CCrack类的源程序传上来就结贴
lisypro 2005-12-30
  • 打赏
  • 举报
回复
CCrack这个类是用户定义的,我没有,
EraseList是做什么的,我不知道,
我想让各位帮我改一下,让这个程序能运行就可以?
wangk 2005-12-30
  • 打赏
  • 举报
回复
EraseList();应该时将List清空的函数,自己实现就是。
CCrack::strVARIANT()函数应该就是将Var转化成CString的函数,不难自己实现一下就好了。
lisypro 2005-12-30
  • 打赏
  • 举报
回复
自己顶一下
handsomerun 2005-12-29
  • 打赏
  • 举报
回复
你的CDAOView类中
有EraseList这个成员函数吗

你是不是定义了CCrack这个类???

那么你把这个类的头文件包含进来了吗??
lisypro 2005-12-29
  • 打赏
  • 举报
回复
源程序附下
http://bbs.bc-cn.net/bbs/viewFile.asp?BoardID=55&ID=4468
lisypro 2005-12-29
  • 打赏
  • 举报
回复
自己顶一下
bobob 2005-12-29
  • 打赏
  • 举报
回复
EraseList();在那里定义?有实现吗?
CCrack是什么东西?名字空间?还是类?

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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