This documentation is archived and is not being maintained.

CommittableTransaction Constructor

Initializes a new instance of the CommittableTransaction class.

Namespace:  System.Transactions
Assembly:  System.Transactions (in System.Transactions.dll)

public CommittableTransaction()

ExceptionCondition
PlatformNotSupportedException

An attempt to create a transaction under Windows 98, Windows 98 Second Edition or Windows Millennium Edition.

The following sample creates a new instance of CommittableTransaction and commits it.

				//Create a committable transaction
				tx = new CommittableTransaction();

				SqlConnection myConnection = new SqlConnection("server=(local)\\SQLExpress;Integrated Security=SSPI;database=northwind");
				SqlCommand myCommand = new SqlCommand();

				//Open the SQL connection
				myConnection.Open();

				//Give the transaction to SQL to enlist with
				myConnection.EnlistTransaction(tx);

				myCommand.Connection = myConnection;

				// Restore database to near it's original condition so sample will work correctly.
				myCommand.CommandText = "DELETE FROM Region WHERE (RegionID = 100) OR (RegionID = 101)";
				myCommand.ExecuteNonQuery();

				// Insert the first record.
				myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'MidWestern')";
				myCommand.ExecuteNonQuery();

				// Insert the second record.
				myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'MidEastern')";
				myCommand.ExecuteNonQuery();

				// Commit or rollback the transaction 
				while (true)
				{
					Console.Write("Commit or Rollback? [C|R] ");
					ConsoleKeyInfo c = Console.ReadKey();
					Console.WriteLine();

					if ((c.KeyChar == 'C') || (c.KeyChar == 'c'))
					{
						tx.Commit();
						break;
					}
					else if ((c.KeyChar == 'R') || (c.KeyChar == 'r'))
					{
						tx.Rollback();
						break;
					}
				}
				myConnection.Close();
				tx = null;
				//Create a committable transaction
				tx = new CommittableTransaction();

				SqlConnection myConnection = new SqlConnection("server=(local)\\SQLExpress;Integrated Security=SSPI;database=northwind");
				SqlCommand myCommand = new SqlCommand();

				//Open the SQL connection
				myConnection.Open();

				//Give the transaction to SQL to enlist with
				myConnection.EnlistTransaction(tx);

				myCommand.Connection = myConnection;

				// Restore database to near it's original condition so sample will work correctly.
				myCommand.CommandText = "DELETE FROM Region WHERE (RegionID = 100) OR (RegionID = 101)";
				myCommand.ExecuteNonQuery();

				// Insert the first record.
				myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'MidWestern')";
				myCommand.ExecuteNonQuery();

				// Insert the second record.
				myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'MidEastern')";
				myCommand.ExecuteNonQuery();

				// Commit or rollback the transaction 
				while (true)
				{
					Console.Write("Commit or Rollback? [C|R] ");
					ConsoleKeyInfo c = Console.ReadKey();
					Console.WriteLine();

					if ((c.KeyChar == 'C') || (c.KeyChar == 'c'))
					{
						tx.Commit();
						break;
					}
					else if ((c.KeyChar == 'R') || (c.KeyChar == 'r'))
					{
						tx.Rollback();
						break;
					}
				}
				myConnection.Close();
				tx = null;

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0
Show: