如何用MFC在ListControl中选中某行,在数据库中删除?

在ListControl中已经显示了数据库中的内容。用一下代码可进行对ListControl中选中的某行进行删除。voidCAddress_ListView::OnSde... 在ListControl中已经显示了数据库中的内容。用一下代码可进行对ListControl中选中的某行进行删除。
void CAddress_ListView::OnSdelete()
{
POSITION p=m_address_list.GetFirstSelectedItemPosition(); //删除选定列

while (p)
{
int nSelected=m_address_list.GetNextSelectedItem(p);
m_address_list.DeleteItem(nSelected);
m_address_list.GetFirstSelectedItemPosition();
}
POSITION pos = m_address_list.GetFirstSelectedItemPosition();
int m_nIndex = m_address_list.GetNextSelectedItem(pos);

UpdateData(FALSE); // 得到项目索引

}但它删除的只是ListControl中显示的内容,但数据库(ACCESS)中的内容并没有改变。如何在ListControl中删除后数据库中的内容也同样清除了呢?
如果是在对话框中输入“关键字”,然后在数据库中找到这行进行删除,我用的代码是void CAddress_ListView::OnDelete()
{

CString s;
CDlg_Name dlg;
bool b=0;
m_pSet->MoveFirst();
if (dlg.DoModal()==IDOK)
{
while (!m_pSet->IsEOF())
{
if (m_pSet->m_column1==dlg.m_name)
{
s.Format("是否确定删除%s信息?",dlg.m_name);

if (IDOK==MessageBox(s,"标题",MB_ICONQUESTION|MB_OKCANCEL))
{ m_pSet->Delete();
b=1;
MessageBox("记录已经删除!");
}
else b=1;
}
m_pSet->MoveNext();
}
if (!b) MessageBox("记录没有找到!");
}

}
其中系统自带的指针为m_pSet,m_pSet->Delete();则是进行删除操作。但它的原理是进行字符串匹配,如果真确则指针指向数据库中某行,然后进行删除。
我想在列表控件中选中某行,然后再数据库中删除,如何做到?望高手指教!
PS:悬赏分可追加.
展开
 我来答
百度网友87b4f1c69
2009-09-10 · TA获得超过1218个赞
知道小有建树答主
回答量:760
采纳率:0%
帮助的人:978万
展开全部
由数据库对象直接调用Execute执行sql,来删除选定的行

只需要把SQL构造好就行了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式