使用的recordset进行批量更新时,更新失败,如何确认失败的是哪一条记录?

解决方案 »

  1.   

    问题是,你是怎么做的?如果你是通过循环 Update,就可以通过 rs.BookMark = rs.LastModified 定位到最后更新成功的记录。
      

  2.   

    使用on error goto ErrErr:
    msgbox"这里发生错误"
    resume next'继续执行语句
      

  3.   

    他用的是批锁,只可能在循环外 .UpdateBatch 来批更新了。这个方法不会返回错误行,所以应该是没办法检测的。如果要知道错在哪一行,只能放弃批锁,用行锁
      

  4.   

    对不起各位,我以为我说批更新大家都明白了,原来还是容易产生误解,我用的是updatebatch,ado只有这一种是批更新方式吧?ado的循环即使不调用update方法,在记录集移动时也会自动update,现在我不讨论这个问题,updatebatch如果真的不能知道哪条记录更新出错确实比较遗憾,如果有知道的,请告知
      

  5.   

    批更新报错后,可以使用Filter过滤属性来查询出错记录
    adoRsS.Filter = adFilterPendingRecords
    过滤后记录集中可读取的都是出错的记录
      

  6.   

    试试 Filter=AdFilterConflictingRecords
      

  7.   

    还有就是检查Status属性,MSDN上有,自己找找。