2017-04-10 15 views
1

データベースに保存(挿入)するための複数の機能があります。挿入に失敗した場合に前の挿入を防止する

私が望むのは、データベースに保存(挿入)するエラーが発生する関数が1つある場合、以前の保存(挿入)はコミットされません。例えば

//button click event 
Try 
    insert_a() 
    insert_b() 
    insert_c() 
    insert_d() 
Catch 
    MsgBox("Failed to insertaaaaa !") 
End Try 
// 

データベースに(挿入)のは、私が得たエラーがinsert_cにあったとしましょう、しかしinsert_ainsert_bはすでに走って保存。

caのデータベースにsaveをコミットしないでください。insert_dの機能は停止しますか?

+0

レコードの大部分を挿入するか、挿入機能ごとに1つのレコードだけを挿入しますか? –

+3

なぜトランザクションを使用しないのですか? –

+0

@redsテーブルデータベースが互いに異なるinsert関数ごとに1レコード – chopperfield

答えて

1

トランザクションを開始し、エラーをキャッチするときにロールバックする必要があります。

+0

これを行うにはどうすればいいですか? – chopperfield

+0

私はスレッドリンクを取得することはできませんが、 "try catch transaction rollback" – anveshtummala

関連する問題