掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ロールバックについて (ID:139706)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。 VB6でロールバックさせる処理で、ロールバック実行時にこのようなエラーが出てしまいます。 「オブジェクトが閉じてる場合は、操作は許可されません。」と表示されてしまいます。 大体、コネクション管理がうまく行っていない時のメッセージなのは分かるのですが、ソースを見ても分かりません。同じようにトランザクション処理してる所はいっぱいあるのですが、こんなエラーは出ません。他コントロールのトランザクション処理を実行してもエラーが出ないことから、前後処理のコネクション開放漏れの可能性も薄く、このメソッド内の順番が悪いのかと思ってます。 On Error GoTo fail 'DBオープン If MyDBopen(cn) = "-1" Then Call MyDBClose(cn, rs) Exit Function End If '登録開始 cn.BeginTrans With Form shoId = .Label_id.Caption str = "Delete From tbl1 where ID='" & shoId & "'" cn.Execute (str)'←① str = "Insert into tbl1 values('" + shoId + "','" + .Label1.Caption + "')" cn.Execute (str) 'コミット cn.CommitTrans Call MyDBClose(cn, rs) Exit Function End With fail: cn.RollbackTrans’←② MsgBox "更新失敗しました。" + Space(5), vbCritical, "エラー" Call MyDBClose(cn, rs) こんな流れなんですが、①で例外感知、②で上のエラーが出ます。MyDBOpen & MyDBCloseは共通関数で乗せていませんが、エラーはなく、他処理も問題なく動いてます。また、①ですが、どんなSQLを置いても同じエラーが出ることからSQL自体を弾いてる気がしてます。 何かお気付きの方はよろしくお願いします。(ここでロールバックを実行させてるのにも問題がありますが・・)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.