おのれ鍋奉行が!
SqlTransaction クラス
最終更新:
lmes2
-
view
SqlTransaction クラス
概要
.NET Framework で、トランザクション処理を行う方法のひとつ。
C#でトランザクションを行うには、これ以外に、
C#でトランザクションを行うには、これ以外に、
- TSQL内で BEGIN TRANSACTION~ によるデータベーストランザクション。
- @Pageディレクティブで、Transaction属性によるトランザクション。
がある。
参照
参考
元ネタ
前提条件
手順
以下のソースは、元ネタのURLから転載。
※ASP.NETではない(Console.WriteLine()とか。)がトランザクションの使い方としては同じ。
※ASP.NETではない(Console.WriteLine()とか。)がトランザクションの使い方としては同じ。
using (SqlConnection connection = new SqlConnection(connectString))
{
connection.Open();
// トランザクション開始
SqlTransaction sqlTran = connection.BeginTransaction();
// SqlCommand クラスにトランザクションを設定
SqlCommand command = connection.CreateCommand();
command.Transaction = sqlTran;
try
{
command.CommandText =
"INSERT INTO Production.ScrapReason(Name) VALUES('Wrong size')";
command.ExecuteNonQuery();
command.CommandText =
"INSERT INTO Production.ScrapReason(Name) VALUES('Wrong color')";
command.ExecuteNonQuery();
// コミット
sqlTran.Commit();
Console.WriteLine("Both records were written to database.");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine("Neither record was written to database.");
// ロールバック
sqlTran.Rollback();
}
}