毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

MFC中,数据库删除的不是点击的那一行数据

更新时间:2012-7-18:  来源:毕业论文

我现在要删除数据库某一行的数据,当我点击我要删除的某一行后,点击删除,提示删除成功,但是那一行还有显示,我必须退出数据库后,在进入数据库才能看见数据库少了一条,但却不是我删除的那一行,我不知道是哪写错了,代码如下:
  POSITION pos=m_Listctrl.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox(_T("请选择要删除的服务器"),_T("提示信息"),MB_ICONINFORMATION|MB_OK);
return;
}
else
{
nId=(int)m_Listctrl.GetNextSelectedItem(pos);
m_pRecordset->Delete((enum AffectEnum)nId);
MessageBox("删除成功!");
m_pRecordset->Update();
}
m_pRecordset->Close();
初学者,望指点一下,谢谢!

你的nId对应的是选择的ListCtrl的行,而不是数据库记录的id啊

你到底是删除MFC控件CLISTCTRL中的某一行的内容还是删除数据的某一行的内容啊

int sel = m_Listctrl.GetCurSel();
m_Listctrl.DeleteString(sel);

建议:
1、在将数据加载到CListCtrl时第一列使用数据库的IDENTITY
2、
POSITION pos=m_Listctrl.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox(_T("请选择要删除的服务器"),_T("提示信息"),MB_ICONINFORMATION|MB_OK);
return;
}
else
{
nId=(int)m_Listctrl.GetNextSelectedItem(pos);
m_pRecordset->Delete((enum AffectEnum)m_Listctrl.GetItemText(nID,0));
MessageBox("删除成功!");
m_pRecordset->Update();
}
m_pRecordset->Close();

建议:
1、在将数据加载到CListCtrl时第一列使用数据库的IDENTITY
2、
POSITION pos=m_Listctrl.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox(_T("请选择要删除的服务器"),_T("提示信息"),MB_ICONINFORMATION|MB_OK);
return;
}
else
{
nId=(int)m_Listctrl.GetNextSelectedItem(pos);
m_pRecordset->Delete((enum AffectEnum)m_Listctrl.GetItemText(nID,0));
MessageBox("删除成功!");
m_pRecordset->Update();
m_Listctrl.DeleteItem(nID);
}
m_pRecordset->Close();

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。