首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

vc用_ConnectionPtr指针的Execute执行插入语句无法捕获错误

2012-02-06 
vc用_ConnectionPtr指针的Execute执行插入语句无法捕获异常代码如下求解答 :CString sqlStr sqlStr

vc用_ConnectionPtr指针的Execute执行插入语句无法捕获异常
代码如下求解答 :
CString sqlStr = "";
sqlStr = "INSERT INTO GoodBaseInfo (GoodName,GoodId,BaseMoney) VALUES ('";
sqlStr += dlg.m_BreadName + "','" + dlg.m_breadID + "'," + dlg.m_BreadPrice + ")";
try
{
_variant_t RecordsAffected;
m_pConnection->Execute(_bstr_t(sqlStr),&RecordsAffected,adCmdText);//操作
}
catch(_com_error* e)
{
CString errormessage;
errormessage.Format("数据库使用失败:%s", e->ErrorMessage());
errormessage+= "\n插入信息失败\n请检查是否该条码已经使用?";
AfxMessageBox(errormessage);

return ;

我想问的是当主键GoodId 例如005已经存在我依然输入005为何明明有try和catch依然无法捕获该异常?

[解决办法]
GoodId 主键是字符串?

那你可以看看插入后的结果。可能GoodId 中包含了空格,也就可以插入了!
[解决办法]
还加上一个:
catch(CException &e)
{
CString errormessage;
errormessage.Format("数据库使用失败:%s", e->ErrorMessage());
errormessage+= "\n插入信息失败\n请检查是否该条码已经使用?";
AfxMessageBox(errormessage);

return ;
}

热点排行