麻烦大家帮忙看一下下边的程序
void CCeshiDlg::OnRead()
{
// TODO: Add your control notification handler code here
_variant_t var;
CString strAge; // 清空列表框
//m_AccessList.ResetContent();
strAge=""; // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些想不到的错误。jingzhou xu
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return;
} // 读入库中各字段并加入列表框中
while(!m_pRecordset->rsEOF)
{
var = m_pRecordset->GetCollect("sheet1");
if(var.vt != VT_NULL)
strAge = (LPCSTR)_bstr_t(var); //m_AccessList.AddString( strName + " --> "+strAge ); m_pRecordset->MoveNext();
} // 默认列表指向第一项,同时移动记录指针并显示
//m_AccessList.SetCurSel(0);
//OnSelchangeListaccess();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}调试时出现了Access Violation
这是怎么回事呀??谢谢哦
void CCeshiDlg::OnRead()
{
// TODO: Add your control notification handler code here
_variant_t var;
CString strAge; // 清空列表框
//m_AccessList.ResetContent();
strAge=""; // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些想不到的错误。jingzhou xu
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return;
} // 读入库中各字段并加入列表框中
while(!m_pRecordset->rsEOF)
{
var = m_pRecordset->GetCollect("sheet1");
if(var.vt != VT_NULL)
strAge = (LPCSTR)_bstr_t(var); //m_AccessList.AddString( strName + " --> "+strAge ); m_pRecordset->MoveNext();
} // 默认列表指向第一项,同时移动记录指针并显示
//m_AccessList.SetCurSel(0);
//OnSelchangeListaccess();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}调试时出现了Access Violation
这是怎么回事呀??谢谢哦
解决方案 »
- PreTranslateMessage WM_KEYDOWN 中如何区分大小写
- MFC工程出现 debug assertion failed,请教各位解决
- sql sever 不存在或访问被拒绝
- 串口发送程序的问题
- 菜鸟级问题,datetimepicker控件上面显示的时间,如何转化为字符串??
- 在VC中*.clw文件起什么作用,如果删除重新编译是否会再产生,如果不能会出现什么后果?
- 为什么ACTIVEX用买的证书签名就不会被IE拦截呢?
- 用哪个函数得到某个对话框的指针
- 求在vc平台上将xml文件导入Teechart的方法
- struct tm *pTime=localtime(&lCurTime);要不要释放pTime?
- 使用detours拦截recvfrom不成功,请高手指点!
- 一个select 查询语句的解释说明,新手,谢谢了。
这个存取错误, 很有可能m_pRecordset 是错误的,根本就没有数据!
m_pRecordset->MoveFirst();
这句错了吧.
{
AfxMessageBox("目前还没有信息!");
return false;
}