transaction
1.在執行中間有出錯,所有的刪除都會返回原始狀態
- string str1 = @"DELETE LineItem where OrderId = @OrderId;"; // SQL command 1
 - string str2 = @"DELETE OrderStatus where OrderId = @OrderId;"; // SQL command 2
 - string str3 = @"DELETE Orders where OrderId = @OrderId;"; // SQL command 2
 - SqlConnection conn = NEW SqlConnection(SqlHelper.ConnectionStringOrderDistributedTransaction);
 - SqlCommand delCommand = NEW SqlCommand(str1, conn);
 - SqlParameter param = NEW SqlParameter("@OrderId", 2);
 - delCommand.Parameters.ADD(param);
 - conn.OPEN();
 - SqlTransaction trans = conn.BeginTransaction();
 - delCommand.TRANSACTION = trans;
 - try
 - {
 - delCommand.ExecuteNonQuery();
 - delCommand.CommandText = str2;
 - delCommand.CommandType = CommandType.Text;
 - delCommand.ExecuteNonQuery();
 - delCommand.CommandText = str3;
 - delCommand.CommandType = CommandType.Text;
 - delCommand.ExecuteNonQuery();
 - trans.Commit();
 - } // try
 - catch (Exception excep)
 - {
 - trans.ROLLBACK(); // 出現例外就ROLLBACK
 - logger.Debug(excep.Message);
 - } // catch
 - finally
 - {
 - conn.Close();
 - delCommand.Dispose();
 - conn.Dispose();
 - trans.Dispose();
 - } // finally