C# – TransactionScopeでトランザクション

業務アプリケーションにデータベース処理はつきもので、

さらにデータベース処理には、トランザクションがつきもので、

またまたトランザクション処理にはコミットと、ロールバックが・・・

今まではどんな言語を使うにしろ、トランザクション処理では、

トランザクションの開始と、コミット、そして例外時にはロールバックと

明示的に記述していた。

C#で、SqlTransactionを利用した従来の書き方

using (SqlTransaction tran = con.Begin.Transaction())

{

try {

//SQLによるデータベース更新処理

:

//コミット

tran.Commit();

}

catch {

//ロールバック

tran.Rollback();

}

}

しかし.NET Framework2.0ではもう少し簡単に書けるようになった、

System.Transaction.TransactionScopeクラスが用意されている。

TransactionScope.Complete()メソッドが呼ばれるとコミットされ、

TransactionScope.Dispose()メソッドが呼ばれるとロールバック

される仕組みとのこと。

なので、usingステートメントと組み合わせて、以下のように書ける。

using (TransactionScope tran = new TransactionScope()) {

//SQLによるデータベース更新処理

:

//コミット

tran.Complete();

}

※例外が発生したり、Complete()メソッドを呼び出さずに、

usingステートメントを抜けると自動的にロールバックされる。

また、TransactionScope クラスには自動的にコネクションや、

SqlCommandクラスを検出する機能があるため、今までのように

明示的にコネクションやSqlCommandのインスタンスとトランザクション

のインスタンスを結びつける必要が無くなっているのもポイント。

Struts2 タグと同様の処理をおこなう

続 Struts 2入門

関連記事

  1. Struts2サンプル 掲示板アプリケーション

    はじめに今回はStruts2を利用した、より実践的なアプリケーション…

  2. twitterアプリケーション

    twitterと連携するアプリケーション作成のためのAPI群です。O…

  3. Struts2 をインストールする

    最初にまずStruts2をインストールする前提条件ですが、J…

  4. Struts2 最初のアプリケーション

    Zero Configurationそれでは、Struts2での最初…

  5. Struts2 RequestDispatche…

    getRequestDispatcher fowardStrutsを…

  6. Struts2 の脆弱性を悪用した攻撃の急増

    Webアプリケーションフレームワークで有名になったなStrutsの後継、…

  7. Microsft .NET C#

    System.IO.Path.GetTempFi…

    C#のプロジェクトで、一時的なファイル(Tempファイル)を作成するため…

  8. Java SE 8 実践プログラミング

    発売日:2014年09月著者/編集:ケイ・S.ホーストマン,?柴田芳…

最近の記事

  1. Microsft .NET C#
  2. れいといちかとまほうのトンネル
PAGE TOP