原因是这样的:因为我有一个数据库,设置了一个主键,这个数据的内容是由用户在我做的程序中输入的,但当用户输入的主键有重复时,Update就出错了,而已程序down掉,我试过用TRY和CATCH捕获,但也捕获不到,请问该怎么办?

解决方案 »

  1.   

    用TRY和CATCH应该可以捕获到的,
    注意CATCH后面括弧中的内容,例如:如果pRecordset是CRecordSet类,括弧中应写(CDBException e),如果pRecordset是CDaoRecordSet类,应写为(CDAOException e)
    总之,不同的类其抛出的异常不同。
      

  2.   

    方法一:作为主键的字段(比如ID)设为readonly,由系统自动分配!
    方法二:如果方法一行不通,就重载CanUpdate()函数,加入判断该值是否存在的代码!
      

  3.   

    一般都是可以抓到的啊,不过如楼上说的那样!但如果用的是_RecordsetPtr的话,就算
    catch(...)也是可以抓到的啊。
      

  4.   

    我用的就是_RecordsetPtr,好现在已经搞定了,给大家散分。