查询报错,急,不知所措!谢谢您啦!

jzww2003 2005-06-06 10:59:04
我在查询对话框下录入查询条件后,执行查询,让结果在主窗口中显示查询结果,用的语句时
((CStuInfoDlg*)AfxGetMainWnd())->List(theApp.m_strSQL);
List()为CStuInfoDlg中的一个显示数据函数,theApp.m_strSQL为select语句,肯定没有问题,
程序编译没有问题,运行后执行查询功能,出现致命错误,系统弹出对话框,Debug Asseertion Failed!
Program:E:/.../../stuinfo.exe
File:afxcmn.inl
Line 148

请你指点!对vc还很不懂,谢谢!
...全文
81 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzww2003 2005-06-06
  • 打赏
  • 举报
回复
代码:
void CSearchDlg::OnOK()
{
try
{
UpdateData();
if(!m_CheckStuid&&!m_CheckName)
MessageBox("请选择并输入查询条件");
else
{
if(m_CheckStuid)
theApp.m_strSQL="select * from stuinfo where stuid like '%"+m_Stuid+"%'";
if(m_CheckName)
theApp.m_strSQL="select * from stuinfo where name like '%"+m_Name+"%'";
if(m_CheckStuid&&m_CheckName)
theApp.m_strSQL="select * from stuinfo where stuid like '%"+m_Stuid+"%' and name like '%"+m_Name+"%'";

((CStuInfoDlg*)AfxGetMainWnd())->List(theApp.m_strSQL);

CDialog::OnOK();
}
}
catch(_com_error e)
{
CATCH_ERROR;
}

}
red-fly 2005-06-06
  • 打赏
  • 举报
回复
能把((CStuInfoDlg*)AfxGetMainWnd())->List(theApp.m_strSQL);附近的代码贴出来吗?
jzww2003 2005-06-06
  • 打赏
  • 举报
回复
CListCtrl::DeleteAllItems 应该不会出错的,因为在其他地方用List()没有任何错误呀!
jerry 2005-06-06
  • 打赏
  • 举报
回复
148 行是

_AFXCMN_INLINE BOOL CListCtrl::DeleteAllItems()
{ ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_DELETEALLITEMS, 0, 0L); }

显然是调用  CListCtrl::DeleteAllItems 的时候出错了. 断言在 IsWindow

你检查一下, 你用到的这个 CListCtrl 没有创建或者 没有关联到一个对话框上的控件吗?
boreboluomi 2005-06-06
  • 打赏
  • 举报
回复
这个我也不大懂。
建议使用try catch()

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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