Freigeben über


CommittableTransaction Konstruktoren

Definition

Initialisiert eine neue Instanz der CommittableTransaction-Klasse.

Überlädt

CommittableTransaction()

Initialisiert eine neue Instanz der CommittableTransaction-Klasse.

CommittableTransaction(TimeSpan)

Initialisiert eine neue Instanz der CommittableTransaction-Klasse mit dem angegebenen timeout-Wert.

CommittableTransaction(TransactionOptions)

Initialisiert eine neue Instanz der CommittableTransaction-Klasse mit den angegebenen Transaktionsoptionen.

CommittableTransaction()

Quelle:
CommittableTransaction.cs
Quelle:
CommittableTransaction.cs
Quelle:
CommittableTransaction.cs

Initialisiert eine neue Instanz der CommittableTransaction-Klasse.

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

Beispiele

Im folgenden Beispiel wird eine neue Instanz von CommittableTransaction erstellt und ein Commit ausgeführt.

//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

Gilt für:

CommittableTransaction(TimeSpan)

Quelle:
CommittableTransaction.cs
Quelle:
CommittableTransaction.cs
Quelle:
CommittableTransaction.cs

Initialisiert eine neue Instanz der CommittableTransaction-Klasse mit dem angegebenen timeout-Wert.

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

Parameter

timeout
TimeSpan

Die maximale Zeitspanne, für die die Transaktion vorhanden sein kann, bevor sie abgebrochen wird.

Gilt für:

CommittableTransaction(TransactionOptions)

Quelle:
CommittableTransaction.cs
Quelle:
CommittableTransaction.cs
Quelle:
CommittableTransaction.cs

Initialisiert eine neue Instanz der CommittableTransaction-Klasse mit den angegebenen Transaktionsoptionen.

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)

Parameter

options
TransactionOptions

Eine TransactionOptions-Struktur, die die Transaktionsoptionen beschreibt, die für die neue Transaktion verwendet werden sollen.

Ausnahmen

options ist ungültig.

Beispiele

Im folgenden Beispiel wird eine neue Instanz von CommittableTransaction mit Optionen erstellt und abgebrochen.

Gilt für: