Поделиться через


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 и прерывает его.

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