public static void ExecuteTransaction(SqlCommand[] CMD) { SqlConnection _Scon = GetConnection(); if (CMD.Length > 0) { _Scon.Open(); SqlTransaction Xtran = _Scon.BeginTransaction(); try { foreach (SqlCommand CM in CMD) { CM.Connection = _Scon; CM.Transaction = Xtran; CM.ExecuteNonQuery(); } Xtran.Commit(); } catch (Exception ex) { Xtran.Rollback(); throw ex; } finally { if (_Scon.State == ConnectionState.Open) { _Scon.Close(); } } } }