回滚事务时是否需要使用RecordSet.CancelUpdate?

时间:2015-01-07 18:14:25

标签: vb6

请参阅以下代码:

GenErr:
    If Err = -2147217871 Then
        'rs.CancelUpdate
        objCon.RollbackTransaction
        Resume AfterNes
    ElseIf Err = 3219 Then
        'rs.CancelUpdate
        objCon.RollbackTransaction
        Resume
    ElseIf Err = 9 Then
        Resume Next
    End If
           ImportUSNs = Error$
    Exit Function
    Resume

我今天添加了一笔交易。如果我回滚事务(当出现错误时),那么我是否需要调用:rs.cancelupdate? rs是一个ADO.Recordset。

1 个答案:

答案 0 :(得分:1)

根据MSDN

  

使用CancelUpdate方法取消对当前所做的任何更改   行或丢弃新添加的行。您无法取消对该更改   调用Update方法后的当前行或新行,除非   更改是您可以回滚的事务的一部分   RollbackTrans方法,或批量更新的一部分。

由于RollbackTransaction将要回滚所有内容,因此CancelUpdate是不必要的。