dポイントプレゼントキャンペーン実施中!

DataSetのTableAdapterでSQL Serverへのデータ挿入、更新、削除を行います。

try {
ta.UpdataQuery(.....);
} catche {
Exception;
}

といった処理をしますが、トランザクション処理をする場合、

try {
// トランザクション開始
ta.UpdataQuery(.....);
// コミット
} catche {
// ロールバック
Exception;
}

といった感じになるかと思いますが、どのようにコードを書けばよいのでしょうか?手元にコードがありませんので詳細が書けませんが、よろしくお願いします。

A 回答 (1件)

MSDNで検索しただけなので参考までに ・・・



taのコネクションオブジェクトで BeginTransactionで OleDbTransaction(SqlTransactionなど)オブジェクトを取得して

Try句でSQLによる更新
最後に先に取得した TransactionオブジェクトのComitメソッドを実行

Catch句で
必要に応じて Roolbackメソッドといった具合でしょう

// cn が コネクションオブジェクト
OleDbTransaction myTrans = cn.BeginTransaction();
try
{
  // ここで ExecuteNonQueryなどで更新処理
  myTrans.Comit();
}
catch(Exception ex )
{
  myTrans.Rollback();
}
finaly
{
  cn.Close();
}
といった具合です
    • good
    • 0
この回答へのお礼

なんとかできました。きちんとロールバックができてます。
助言ありがとうございます。

お礼日時:2009/02/19 23:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!