Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
MDB検索更新異常時のロールバック方法
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30524#CommentId84127
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2020/8/29 15:34:55
ADO 版のコードを修正。
> Else
> MsgBox("失敗。INSERT された件数が 1 ではありませんでした。: " & CStr(affected))
> ' ロールバック処理
> conn.RollbackTrans()
> level -= 1
> End If
この部分は、下記のようにするべきかもしれません。
Else
MsgBox("失敗。INSERT された件数が 1 ではありませんでした。: " & CStr(affected))
' ロールバック処理
conn.RollbackTrans()
End If
level -= 1
この場合の level 変数は入れ子のトランザクションのネスト数を差しており、
JET の場合、最大で 5 段階までのネストをサポートしているそうです。
一番外側のトランサクションがコミットされるまで、データベースには反映されません。
ただし入れ子のトランザクションを許可していないデータベースもあります。
また、内側のトランクションでロールバックした場合の動作は、
データベースによって実装が異なる点に注意が必要です。
https://qiita.com/yuba/items/9b5b86bc3e128a84db5e