1

SQLトランザクション

複数のデータベースのテーブルに挿入しようとしていますが、そのうちの1つが実行されないようにしたいのですが、すべてのステートメントはロールバックです。SQL トランザクションを使用したいのですが、C# で SQL トランザクションとトランザクション スコープを使用する方法がわかりません。トランザクション スコープ

   try
    {
     using (tScope = new TransactionScope(TransactionScopeOption.Required,TOption))
      {
        
      ConAcnt.open();
     SqlCommand Com1 = new SqlCommand("INSERT",ConAcnt);
      Com1.ExecuteNonQuery();
      
      ConBase.open();
     Com2 = new SqlCommand("INSERT",ConBase);   
      Com2.ExecuteNonQuery();
       tScope.Complete();
      }

 catch (Exception ex)
{
    tScope.Dispose();                            
                                                           
}


   }  

com2が実行されず、com1がroolebackであるが、トランザクションをコミットし、com2が実行され、com1がdbに保存されない場合が必要です

4

1 に答える 1

1

おそらく分散トランザクションが必要です

于 2013-02-11T07:41:14.793 に答える