给你一个瞧瞧
SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;");
myConnection.Open();// Start a local transaction.
SqlTransaction myTrans = myConnection.BeginTransaction();// Enlist the command in the current transaction.
SqlCommand myCommand = new SqlCommand();
myCommand.Transaction = myTrans;try
{
  myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";
  myCommand.ExecuteNonQuery();
  myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";
  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();
}