如题
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

解决方案 »

  1.   

    1. 是update,不是pdate
    2. 可以在update之前先执行一条select * from client where id=15
    3. 直接update的话,可以用如下代码把你的代码包起来,不存在id=15记录时,看能否捕获异常:try
    {
        //你的代码
    }
    catch(CDBException *e) 

        AfxMessageBox("操作数据库失败,请检查数据库连接情况!\n" + e->m_strError); 
    }
      

  2.   

    ADO 中就提供了这样的支持。
      

  3.   

    恩是UPDATA,打得时候打快了.
    如果先select,在我的程序中运行起来就会很慢.我希望做成数据库中有则更新,没有则插入
    另外我认为TRY捕获不到异常,应该SQL语句运行成功了,没错误,只是受影响的个数为0而已,应该没有异常
    谢谢 tabby提出宝贵意见,我希望知道,有没有DB.xxx的哪个方法能够返回受影响个数的
      

  4.   

    ODBC没有这样的功能.. 要用的话,就换ADO吧... :)
      

  5.   

    一个方法:
    不要考虑它在不在,直接 delete 掉;
    然后重新 insert ;我就经常这么做,因为这么做反而快,工作都丢给数据库引擎去做吧。