請問:
on error goto err
cnt.CursorLocation = adUseServer
cnt.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\test.mdb"
cnt.BeginTrans '-----------第1層
cnt.BeginTrans '--------第2層
cnt.Execute "update tableA set f1=3000"
cnt.CommitTrans
cnt.Execute "update tableB set f2=500"
cnt.CommitTrans
err:
cnt.RollbackTrans
為何當我第 2 層 CommitTrans 後,tableA 資料還是沒有進去呢?必須要等到 CommitTrans 第 1 層後才會全部進去呢?我需要的功能是,當 tableB 更新成功後才可以更新 tableA , 若是更新到 tableA 失敗後必需連同 tableA , tableB 也一起 RollBackTrans 請問我到底該怎樣作才可以呢?
on error goto err
cnt.CursorLocation = adUseServer
cnt.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\test.mdb"
cnt.BeginTrans '-----------第1層
cnt.BeginTrans '--------第2層
cnt.Execute "update tableA set f1=3000"
cnt.CommitTrans
cnt.Execute "update tableB set f2=500"
cnt.CommitTrans
err:
cnt.RollbackTrans
為何當我第 2 層 CommitTrans 後,tableA 資料還是沒有進去呢?必須要等到 CommitTrans 第 1 層後才會全部進去呢?我需要的功能是,當 tableB 更新成功後才可以更新 tableA , 若是更新到 tableA 失敗後必需連同 tableA , tableB 也一起 RollBackTrans 請問我到底該怎樣作才可以呢?
全站熱搜
留言列表