求教MFC用ADO连接Access实现MFC列表和数据库的同步删除某一行信息
正在学习MFC,做了一个简易的库存信息系统,用ADO连接Access后,其中的增加和修改功能都实现了列表和数据库的同步更新的功能。但是实现删除的时候试了好几种方法都不行。我的界面有一个“保存”按钮,希望点击保存按钮时,把列表控件中的增删改操作实时更新到数据库中。求当删除列表某一行然后再同时更新到数据库中的方法(在list列表中删除某行的操作我会),希望各位高手们指点一二。代码如下
void CUserInfoDlg::OnBnClickedSave()
{
int nCount = m_list.GetItemCount();
CString sNumb,sName,sSex,sAge,sDept,sLevel,sPhone,sEmail,sFlag, sID;
CString sSql;
for(int i=0; i<nCount; i++ )
{
sNumb = m_list.GetItemText(i,0);
sName = m_list.GetItemText(i,1);
sSex = m_list.GetItemText(i,2);
sAge = m_list.GetItemText(i,3);
sDept = m_list.GetItemText(i,4);
sLevel = m_list.GetItemText(i,5);
sPhone = m_list.GetItemText(i,6);
sEmail = m_list.GetItemText(i,7);
sFlag = m_list.GetItemText(i,8);
sID = m_list.GetItemText(i,9);
if( sFlag == "N" ) //new user
{
sSql.Format("Insert into UserInfo (Code, UserName, \
Sex, Age, Branch, RightLevel, Phone, EMail)\
values ('%s', '%s', '%s', %d, '%s', %d, '%s', '%s')",
sNumb,sName,sSex,atoi(sAge),sDept,atoi(sLevel),sPhone,sEmail);
AfxMessageBox(sSql);
try
{
theApp.m_pConn->Execute(_bstr_t(sSql),NULL,adCmdText);
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}
}
else if( sFlag == "M" ) //Modify user
{
AfxMessageBox(sID);
sSql.Format("Update UserInfo Set Code = '%s', UserName = '%s',\
Sex = '%s', Age = %d, Branch = '%s', RightLevel = %d,\
Phone = '%s', EMail = '%s' where id = %d",\
sNumb,sName,sSex,atoi(sAge),sDept,atoi(sLevel),sPhone,sEmail,atoi(sID));
AfxMessageBox(sSql);
try
{
theApp.m_pConn->Execute(_bstr_t(sSql),NULL,adCmdText);
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}
}
}
}