2009-03-31 24 views
0

3つのセクションがあるページがあります。最初のセクションでは、Database.Iに保存するいくつかの詳細があります。これらの詳細は、Procedure1というStoredProcedure(sql)詳細はTable1という名前のテーブルに保存されます。 "ID"という名前のテーブルにはプライマリキーがあります。この "ID"は自動的にテーブルに挿入されます。vb.netのデータをロールバックする方法

2番目と3番目のセクションでは、データ操作用のグリッドがあります。詳細はStoredProcedures(sql)、Procedure2、Procedure3を介してテーブルTable2とTable3に挿入されています。

Table1で自動的に生成される「ID」は、Table2とTable3に挿入する必要があります。どのようにすればいいですか?

対応するデータがTable2とTable3に挿入されていない場合、Table1の詳細はロールバックされます。これらの3つのセクションは同時に挿入されます。

私は3つの手順をすべて組み合わせたStoredProcedureを作成しました。

詳細をロールバックするコードを書くにはどうすればよいですか? 誰かがこれを解決する別の方法を提案できますか?

答えて

2

トランザクションを使用して、エラーが発生した場合はTransaction.Rollback()を呼び出してください。詳細を処理するのはデータベースの仕事です。

+0

私はこれに別の方法を使用できますか? – Nandini

+0

なぜ別の方法を使いたいのですか?これはデータベースがうまくいくものであり、それを利用するコードは簡単です。 –

+0

@Vineetha:ここでデータベーストランザクションを使用するには、本当に良い理由が必要ではありません。その場合、その理由を説明する必要があります。 Chrisが言ったように、これはデータベースがうまくいくものです。トランザクションは実装するのが難しいです - あなたは本当に自分でそれをやろうとしません。 –

関連する問題