本帖最后由 itakeblue 于 2013-07-05 10:51:04 编辑

解决方案 »

  1.   

    ’不要喷我,复制粘贴,因为也没用过这个,只是以前浏览到过...
    -----------------
    LockType 属性
    指示编辑过程中记录上的锁定类型。设置和返回值
    设置或返回 LockTypeEnum 值。默认值为 adLockReadOnly。说明
    打开 Recordset 之前先设置 LockType 属性,以指定提供者打开它时使用的锁定类型。读取该属性以返回打开的 Recordset 对象中使用的锁定类型。提供者可能不支持所有锁定类型。如果提供者不支持请求的 LockType 设置,则替换为另一种锁定类型。要确定 Recordset 对象中实际可用的锁定功能,请将 Supports 方法和 adUpdate 及 adUpdateBatch 一起使用。如果 CursorLocation 属性设置为 adUseClient,则不支持 adLockPessimistic 设置。如果设置了不支持的值,将不产生错误,而使用所支持的最近似的 LockType。LockType 属性在 Recordset 关闭时为读/写,而在 Recordset 打开时为只读
      

  2.   

    SQL Server的话,试试
    rs.open "select top 1 * from table where working = 0 order by newid()", dbc, 1, 3
      

  3.   


    就是说只有在rs.update时加on error resume next的异常处理了?
      

  4.   

    异常处理不要简单地 resume next。应当随机地延迟一段时间,然后重新尝试查询和 Update。
      

  5.   


    好的,明白!
    是的,会检查err.number如果不为零的话重新尝试查询。谢谢各位,结贴。