Condividi tramite


CommittableTransaction Costruttori

Definizione

Inizializza una nuova istanza della classe CommittableTransaction.

Overload

CommittableTransaction()

Inizializza una nuova istanza della classe CommittableTransaction.

CommittableTransaction(TimeSpan)

Inizializza una nuova istanza della classe CommittableTransaction con il valore timeout specificato.

CommittableTransaction(TransactionOptions)

Inizializza una nuova istanza della classe CommittableTransaction con le opzioni di transazione specificate.

CommittableTransaction()

Origine:
CommittableTransaction.cs
Origine:
CommittableTransaction.cs
Origine:
CommittableTransaction.cs

Inizializza una nuova istanza della classe CommittableTransaction.

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

Esempio

Nell'esempio seguente viene creata una nuova istanza di CommittableTransaction e ne viene eseguito il commit.

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

Si applica a

CommittableTransaction(TimeSpan)

Origine:
CommittableTransaction.cs
Origine:
CommittableTransaction.cs
Origine:
CommittableTransaction.cs

Inizializza una nuova istanza della classe CommittableTransaction con il valore timeout specificato.

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

Parametri

timeout
TimeSpan

Tempo massimo di esistenza della transazione prima della sua interruzione.

Si applica a

CommittableTransaction(TransactionOptions)

Origine:
CommittableTransaction.cs
Origine:
CommittableTransaction.cs
Origine:
CommittableTransaction.cs

Inizializza una nuova istanza della classe CommittableTransaction con le opzioni di transazione specificate.

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)

Parametri

options
TransactionOptions

Struttura TransactionOptions che descrive le opzioni di transazione da utilizzare per la nuova transazione.

Eccezioni

options non è valido.

Esempio

Nell'esempio seguente viene creata una nuova istanza di CommittableTransaction con opzioni e viene interrotta.

Si applica a