ado批量更新问题

pcwe2002 2006-07-31 02:42:13
使用的recordset进行批量更新时,更新失败,如何确认失败的是哪一条记录?
...全文
254 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fj182 2006-07-31
  • 打赏
  • 举报
回复
还有就是检查Status属性,MSDN上有,自己找找。
fj182 2006-07-31
  • 打赏
  • 举报
回复
试试 Filter=AdFilterConflictingRecords
手抓宝 2006-07-31
  • 打赏
  • 举报
回复
用存储过程试一下
GoldFox 2006-07-31
  • 打赏
  • 举报
回复
批更新报错后,可以使用Filter过滤属性来查询出错记录
adoRsS.Filter = adFilterPendingRecords
过滤后记录集中可读取的都是出错的记录
pcwe2002 2006-07-31
  • 打赏
  • 举报
回复
对不起各位,我以为我说批更新大家都明白了,原来还是容易产生误解,我用的是updatebatch,ado只有这一种是批更新方式吧?ado的循环即使不调用update方法,在记录集移动时也会自动update,现在我不讨论这个问题,updatebatch如果真的不能知道哪条记录更新出错确实比较遗憾,如果有知道的,请告知
fxy_2002 2006-07-31
  • 打赏
  • 举报
回复
他用的是批锁,只可能在循环外 .UpdateBatch 来批更新了。

这个方法不会返回错误行,所以应该是没办法检测的。如果要知道错在哪一行,只能放弃批锁,用行锁
MMABing 2006-07-31
  • 打赏
  • 举报
回复
使用on error goto Err

Err:
msgbox"这里发生错误"
resume next'继续执行语句
of123 2006-07-31
  • 打赏
  • 举报
回复
问题是,你是怎么做的?

如果你是通过循环 Update,就可以通过 rs.BookMark = rs.LastModified 定位到最后更新成功的记录。
pcwe2002 2006-07-31
  • 打赏
  • 举报
回复
感谢楼上的回答,不过我想知道的是怎么得到失败的记录
fxy_2002 2006-07-31
  • 打赏
  • 举报
回复
好象不能判断。
不过如果你用批更新锁,失败一条应该全部都不会成功,所以不用担心一致性问题。

7,786

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧