主题:大家好,我遇到了一个问题?急急急
我在MFC中是用对话框连接的access数据库,利用listctrl控件来把查询的结果显示出来。可是我只能点击查询一次。不能在进行查询了。程序被强制关闭了。不知是为什么??代码如下:
void COutDg::OnLook()
{
// TODO: Add your control notification handler code here
CString TempSql;
int i = -1,r;
CRearchDlg dlg;
m_listctrl.DeleteAllItems();
if(dlg.DoModal()==IDOK)
{ m_OpSet->MoveFirst();
while(!m_OpSet->IsEOF())
{
if(m_OpSet->m_outime==dlg.m_time)
{LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;
lvitem.stateMask = 0;
char temp[50];
lvitem.iItem = ++i;
lvitem.iSubItem = 0;
r=i+1;
lvitem.pszText =itoa(r, temp, 10);
m_listctrl.InsertItem(&lvitem);//插入行项目
m_OpSet->GetFieldValue("name",TempSql);
m_listctrl.SetItemText(i, 1, (LPCTSTR)TempSql);
m_OpSet->GetFieldValue("outime",TempSql);
m_listctrl.SetItemText(i, 2, (LPCTSTR)TempSql);
m_OpSet->GetFieldValue("outotal",TempSql);
m_listctrl.SetItemText(i, 3, (LPCTSTR)TempSql);
m_OpSet->GetFieldValue("outreason",TempSql);
m_listctrl.SetItemText(i, 4, (LPCTSTR)TempSql);
m_OpSet->GetFieldValue("other",TempSql);
m_listctrl.SetItemText(i, 5, (LPCTSTR)TempSql);//增加行内容
}
m_OpSet->MoveNext();
}//end while
m_OpSet->Close();
}//end if
delete m_OpSet;
}
void COutDg::OnLook()
{
// TODO: Add your control notification handler code here
CString TempSql;
int i = -1,r;
CRearchDlg dlg;
m_listctrl.DeleteAllItems();
if(dlg.DoModal()==IDOK)
{ m_OpSet->MoveFirst();
while(!m_OpSet->IsEOF())
{
if(m_OpSet->m_outime==dlg.m_time)
{LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;
lvitem.stateMask = 0;
char temp[50];
lvitem.iItem = ++i;
lvitem.iSubItem = 0;
r=i+1;
lvitem.pszText =itoa(r, temp, 10);
m_listctrl.InsertItem(&lvitem);//插入行项目
m_OpSet->GetFieldValue("name",TempSql);
m_listctrl.SetItemText(i, 1, (LPCTSTR)TempSql);
m_OpSet->GetFieldValue("outime",TempSql);
m_listctrl.SetItemText(i, 2, (LPCTSTR)TempSql);
m_OpSet->GetFieldValue("outotal",TempSql);
m_listctrl.SetItemText(i, 3, (LPCTSTR)TempSql);
m_OpSet->GetFieldValue("outreason",TempSql);
m_listctrl.SetItemText(i, 4, (LPCTSTR)TempSql);
m_OpSet->GetFieldValue("other",TempSql);
m_listctrl.SetItemText(i, 5, (LPCTSTR)TempSql);//增加行内容
}
m_OpSet->MoveNext();
}//end while
m_OpSet->Close();
}//end if
delete m_OpSet;
}