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

请教用ado执行insert、update等操作,如何知道是否成功

2012-03-11 
请问用ado执行insert、update等操作,怎么知道是否成功?比如:UPDATEwii_usersSETpwd 123456WHEREwii_id100

请问用ado执行insert、update等操作,怎么知道是否成功?
比如:UPDATE   wii_users   SET   pwd= '123456 '   WHERE   wii_id=1000
如果wii_id=1000并不存在,则并没有异常抛出,而我又不想预先select一下看是否存在
这时候能否知道是否update了一条记录?
我用的_ConnectionPtr的Execute方法,它会返回一个_RecordsetPtr,不知道能不能通过它来判断?

[解决办法]
bool DbTheadCmd(_ConnectionPtr m_MyConnection,CString sql)
{
_variant_t RecordsAffected;

try
{
m_MyConnection-> Execute((_bstr_t)sql,&RecordsAffected,adCmdUnknown);


}
catch(_com_error e)///捕捉异常
{
return false;
}

RecordsAffected.Clear();
return true;
}

[解决办法]
补充楼上,对于insert ,update, delete
variant_t RecordsAffected;
m_MyConnection-> Execute((_bstr_t)sql,&RecordsAffected,adCmdUnknown);
if ((long)RecordsAffected==0)
{
//没有记录被此次查询影响
}

热点排行