CommittableTransaction Конструкторы

Определение

Инициализирует новый экземпляр класса CommittableTransaction.

Перегрузки

CommittableTransaction()

Инициализирует новый экземпляр класса CommittableTransaction.

CommittableTransaction(TimeSpan)

Инициализирует новый экземпляр класса CommittableTransaction заданным значением timeout.

CommittableTransaction(TransactionOptions)

Инициализирует новый экземпляр класса CommittableTransaction с заданными параметрами транзакции.

CommittableTransaction()

Исходный код:
CommittableTransaction.cs
Исходный код:
CommittableTransaction.cs
Исходный код:
CommittableTransaction.cs

Инициализирует новый экземпляр класса CommittableTransaction.

public:
 CommittableTransaction();
public CommittableTransaction ();
Public Sub New ()

Примеры

Следующий пример создает новый экземпляр CommittableTransaction и фиксирует его.

//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;
tx = New CommittableTransaction

Dim myConnection As New SqlConnection("server=(local)\SQLExpress;Integrated Security=SSPI;database=northwind")
Dim myCommand As 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
Dim c As ConsoleKeyInfo
While (True)
    Console.Write("Commit or Rollback? [C|R] ")
    c = Console.ReadKey()
    Console.WriteLine()

    If (c.KeyChar = "C") Or (c.KeyChar = "c") Then
        tx.Commit()
        Exit While
    ElseIf ((c.KeyChar = "R") Or (c.KeyChar = "r")) Then
        tx.Rollback()
        Exit While
    End If
End While

myConnection.Close()
tx = Nothing

Применяется к

CommittableTransaction(TimeSpan)

Исходный код:
CommittableTransaction.cs
Исходный код:
CommittableTransaction.cs
Исходный код:
CommittableTransaction.cs

Инициализирует новый экземпляр класса CommittableTransaction заданным значением timeout.

public:
 CommittableTransaction(TimeSpan timeout);
public CommittableTransaction (TimeSpan timeout);
new System.Transactions.CommittableTransaction : TimeSpan -> System.Transactions.CommittableTransaction
Public Sub New (timeout As TimeSpan)

Параметры

timeout
TimeSpan

Максимальное время, в течение которого может существовать транзакция до ее прерывания.

Применяется к

CommittableTransaction(TransactionOptions)

Исходный код:
CommittableTransaction.cs
Исходный код:
CommittableTransaction.cs
Исходный код:
CommittableTransaction.cs

Инициализирует новый экземпляр класса CommittableTransaction с заданными параметрами транзакции.

public:
 CommittableTransaction(System::Transactions::TransactionOptions options);
public CommittableTransaction (System.Transactions.TransactionOptions options);
new System.Transactions.CommittableTransaction : System.Transactions.TransactionOptions -> System.Transactions.CommittableTransaction
Public Sub New (options As TransactionOptions)

Параметры

options
TransactionOptions

Структура TransactionOptions с описанием параметров, которые должны использоваться для новой транзакции.

Исключения

options недопустим.

Примеры

Следующий пример создает новый экземпляр с параметрами CommittableTransaction и прерывает его.

Применяется к