如题
CDatabase db;
CString strsql;
db.OpenEx(DBCONNECT);
strsql.Format(L"pdate Client set Name='xxx' where ID=15");
db.ExecuteSQL(strsql);
db.Close;
如何通过调用某方法,挡找到ID=15时,获得1,没找到ID=15时,获得0
CDatabase db;
CString strsql;
db.OpenEx(DBCONNECT);
strsql.Format(L"pdate Client set Name='xxx' where ID=15");
db.ExecuteSQL(strsql);
db.Close;
如何通过调用某方法,挡找到ID=15时,获得1,没找到ID=15时,获得0
2. 可以在update之前先执行一条select * from client where id=15
3. 直接update的话,可以用如下代码把你的代码包起来,不存在id=15记录时,看能否捕获异常:try
{
//你的代码
}
catch(CDBException *e)
{
AfxMessageBox("操作数据库失败,请检查数据库连接情况!\n" + e->m_strError);
}
如果先select,在我的程序中运行起来就会很慢.我希望做成数据库中有则更新,没有则插入
另外我认为TRY捕获不到异常,应该SQL语句运行成功了,没错误,只是受影响的个数为0而已,应该没有异常
谢谢 tabby提出宝贵意见,我希望知道,有没有DB.xxx的哪个方法能够返回受影响个数的
不要考虑它在不在,直接 delete 掉;
然后重新 insert ;我就经常这么做,因为这么做反而快,工作都丢给数据库引擎去做吧。