根据用户单击listctrl某行 我取得此条记录对应的ID:
CString keyid = (m_listkey.GetItemText(nItem,0)); 正确
然后我要删除这条 我写法如下:
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
sql = "DELETE FROM clientre WHERE ID=atoi(keyid)";
sql.Format(sql,atoi(keyid));
m_pRecordset->Open((_variant_t)sql, // 查询Table表中所有字段
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);ReadAccess();
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
} }运行时try语句里报错
应该就是sql语句问题
多谢各位
CString keyid = (m_listkey.GetItemText(nItem,0)); 正确
然后我要删除这条 我写法如下:
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
sql = "DELETE FROM clientre WHERE ID=atoi(keyid)";
sql.Format(sql,atoi(keyid));
m_pRecordset->Open((_variant_t)sql, // 查询Table表中所有字段
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);ReadAccess();
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
} }运行时try语句里报错
应该就是sql语句问题
多谢各位
//数据库的删除操作
bool CTestMenuDlg::DbDelete(CString sql)
{
_variant_t RecordsAffected;
try
{
m_pConnection->Execute((_bstr_t)sql,&RecordsAffected,adCmdUnknown);
}
catch(_com_error e)///捕捉异常
{
return false;
//CATCH_ERROR;
} RecordsAffected.Clear();
return true;
}
sql = "DELETE FROM clientre WHERE ID=atoi(keyid)";
sql.Format(sql,atoi(keyid));
//
...........改成:
CString sql;
sql.Format("DELETE FROM clientre WHERE ID=%d",keyid);试试!@)
sql="DELETE FROM clientre WHERE ID="+keyid;
sql.Format("DELETE FROM clientre WHERE ID=%d",keyid);
atoi(keyid)变成了字符