7

CN1 という sqlconnection を作成しました。次に、この CN1 を開きます。コードの後半に transactionscope があります。この CN1 接続で SQL コマンドを実行すると、これはトランザクション内ですか?

コードは次のようになります。

SqlConnection cn1 = new SqlConnection();
cn1.Open(); //connection opened when there is no ambient transaction.
...

using(TransactionScope scope = new TransactionScope())
{
  SqlCommand cmd; //a typical sql command.

  ...

  cmd.ExecuteNonQuery(); //Is this command within transaction?
  ...
}
4

2 に答える 2

9

接続がトランザクションに登録されていることを確認するには、TransactionScope内で接続を開く必要があります。

connection.Openこれは、このMSDN の例のすぐ上のコメントにあります。

于 2009-12-29T19:51:47.113 に答える
5
  1. いいえ、コマンドはトランザクションで実行されません
  2. スコープ内で接続を開くか、SqlConnection インスタンスの EnlistTransaction メソッドを使用します。別のスレッドで私の答えを参照してください。
于 2010-08-24T11:11:29.170 に答える