public void RunSqlTransaction(string myConnString)
{
  SqlConnection myConnection = new SqlConnection(myConnString);
  myConnection.Open();
  SqlCommand myCommand = new SqlCommand();
  SqlTransaction myTrans;
  // Start a local transaction
  myTrans = myConnection.BeginTransaction();
  // Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans;
  try
  {
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
    myCommand.ExecuteNonQuery();
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')";
    myCommand.ExecuteNonQuery();
    myTrans.Commit();
    Console.WriteLine("Both records are written to database.");
  }
  catch(Exception e)
  {
    myTrans.Rollback();
    Console.WriteLine(e.ToString());
    Console.WriteLine("Neither record was written to database.");
  }
  finally
  {
    myConnection.Close();
  }
}