CommittableTransaction Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса CommittableTransaction.
Перегрузки
CommittableTransaction() |
Инициализирует новый экземпляр класса CommittableTransaction. |
CommittableTransaction(TimeSpan) |
Инициализирует новый экземпляр класса CommittableTransaction заданным значением |
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 и прерывает его.