close

剛好想到RollBack這個東東

偶爾也會有需要用到所以就還是記下來

因為網路上其實範例不少了...

不過就重新再回憶一下隨手記錄

using (SqlConnection conn = new SqlConnection("DB連線字串"))
{
  conn.Open();
  SqlCommand myCommand = conn.CreateCommand();
  SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
  
  myCommand.Connection = conn;
  myCommand.Transaction = trans;
  
  try
  {   
      //要執行的SQL
      //INSERT INTO xxx (x,x,x) VALUES (x,x,x)
      myCommand.ExecuteNonQuery();
      
      //INSERT INTO yyy (y,y,y) VALUES (y,y,y)
      myCommand.ExecuteNonQuery();
              	
      trans.Commit();
      return "成功";
  }
  catch (Exception e)
  {
      try
      {
          trans.Rollback();
      }
      catch (SqlException ex)
      {
          if (trans.Connection != null)
          {
              return "連RollBack都失敗了啦";
          }
      }
      return "失敗";
  } 
}

參考:

http://msdn.microsoft.com/zh-tw/library/system.data.oledb.oledbtransaction.rollback%28v=VS.100%29.aspx

arrow
arrow
    全站熱搜

    鴨爸 發表在 痞客邦 留言(0) 人氣()