using System; using System.Data; using System.Data.SqlClient; namespace DataAccess.DataSet1TableAdapters { partial class Table1TableAdapter { public SqlDataAdapter MyAdapter { get { returnthis.Adapter; } } } partial class Table2TableAdapter { public SqlDataAdapter MyAdapter { get { returnthis.Adapter; } } } } // Here is the method to implement the Transaction: privatevoid ExecuteTransaction() { // The Connection must be identical in order to apply Transaction SqlConnection connection = table1TableAdapter.Connection; table2TableAdapter.Connection = connection; // Start a local Transaction SqlTransaction transaction = connection.BeginTransaction(); table1TableAdapter.MyAdapter.InsertCommand.Transaction = transaction; table2TableAdapter.MyAdapter.InsertCommand.Transaction = transaction; try { // Update Database table1TableAdapter.Update(dataSet1.Table1); table2TableAdapter.Update(dataSet1.Table2); // Commit Changes to database transaction.Commit(); } catch (DataException ex) { // Roll back the transaction. if (transaction !=null) { transaction.Rollback(); } Console.WriteLine("Message: {0}", ex.Message); } finally { // Close Conection connection.Close(); } }