MFC编程中Listcontrol删除数据有问题

就是这么个问题,删除的代码如下:voidCDevDlg::OnButtonDel(){//TODO:Addyourcontrolnotificationhandlerco... 就是这么个问题,删除的代码如下:
void CDevDlg::OnButtonDel() { // TODO: Add your control notification handler code here ADOConn m_adoconn; //连接数据库m_adoconn.OnInitADOConn(); _bstr_t sql; sql="SELECT * FROM Infor"; _RecordsetPtr m_pRecordset; m_pRecordset=m_adoconn.GetRecordset(sql); //创建记录集(调用函数) long pos=m_Grid.GetSelectionMark(); try { m_pRecordset->Move((long)pos,vtMissing); m_pRecordset->Delete(adAffectCurrent); m_pRecordset->Update(); m_adoconn.ExitConnect(); } catch(_com_error e) { MessageBox("操作失败"); return; } MessageBox("删除成功"); m_Grid.DeleteAllItems(); AddToGrid(); //更新到Listcontrol中
展开
 我来答
bhtzu
2014-06-04 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4227万
展开全部
你直接删除的数据库数据,而不是列表框操作,那么只能是pos这个变量的问题,这里需要获取的是数据库行号或者id号,而不是列表框的位置序号。
另外,是不是列表框是自动排序的,将列表框的自动排序属性去掉应该可以正常,但这不是解决问题的关键。关键还是记录数据库序号而不是列表框序号。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式