Freigeben über


SqlCeConnection.BeginTransaction-Methode ()

Hinweis: Dieser Namespace oder Member bzw. diese Klasse wird nur von .NET Framework, Version 1.1, unterstützt.

Beginnt eine Datenbanktransaktion.

Overloads Public Function BeginTransaction() As SqlCeTransaction
[C#]
public SqlCeTransaction BeginTransaction();
[C++]
public: SqlCeTransaction* BeginTransaction();
[JScript]
public function BeginTransaction() : SqlCeTransaction;

Rückgabewert

Ein Objekt, das die neue Transaktion darstellt.

Ausnahmen

Ausnahmetyp Bedingung
InvalidOperationException Es werden keine parallelen Transaktionen unterstützt.

Hinweise

Sie müssen für die Transaktion mit der Commit-Methode oder der Rollback-Methode einen expliziten Commit oder Rollback ausführen.

Beispiel

[Visual Basic, C#] Im folgenden Beispiel werden eine SqlCeConnection und eine SqlCeTransaction erstellt. Anschließend wird die Verwendung der BeginTransaction-Methode, der Commit-Methode und der Rollback-Methode veranschaulicht.

 
Public Sub RunSqlCeTransaction(myConnString As String)
   Dim myConnection As New SqlCeConnection(myConnString)
   myConnection.Open()
   
   Dim myCommand As New SqlCeCommand()
   Dim myTrans As SqlCeTransaction
   
   ' Start a local transaction
   myTrans = myConnection.BeginTransaction()
   
   ' Must assign both transaction object and connection
   ' to Command object for a pending local transaction
   myCommand.Connection = myConnection
   myCommand.Transaction = myTrans
   
   Try
      myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"
      myCommand.ExecuteNonQuery()
      myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"
      myCommand.ExecuteNonQuery()
      myTrans.Commit()
   Catch 
      Try
         myTrans.Rollback()
      Catch e As SqlCeException
      ' Handle possible exception here
      End Try 
   Finally
      myConnection.Close()
   End Try
End Sub 

[C#] 
public void RunSqlCeTransaction(string myConnString) {
    SqlCeConnection myConnection = new SqlCeConnection(myConnString);
    myConnection.Open();

    SqlCeCommand myCommand = new SqlCeCommand();
    SqlCeTransaction myTrans;

    // Start a local transaction
    myTrans = myConnection.BeginTransaction();
    
    // Must assign both transaction object and connection
    // to Command object for a pending local transaction
    myCommand.Connection = myConnection;
    myCommand.Transaction = myTrans;

    try {
        myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";
        myCommand.ExecuteNonQuery();
        myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";
        myCommand.ExecuteNonQuery();
        myTrans.Commit();
    }
    catch(Exception) {
        try {
            myTrans.Rollback();
        }
        catch (SqlCeException) {
            // Handle possible exception here
        }
    }
    finally {
        myConnection.Close();
    }
}

[C++, JScript] Für C++ oder JScript ist kein Beispiel verfügbar. Klicken Sie zum Anzeigen eines Beispiels für Visual Basic oder C# in der linken oberen Ecke der Seite auf die Schaltfläche "Sprachfilter" Sprachfilter.

Anforderungen

Plattformen: .NET Compact Framework - Windows CE .NET

.NET Framework-Sicherheit:

Siehe auch

SqlCeConnection-Klasse | SqlCeConnection-Member | System.Data.SqlServerCe-Namespace | SqlCeConnection.BeginTransaction-Überladungsliste