Freigeben über


SqlCeConnection.BeginTransaction-Methode (IsolationLevel)

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

Beginnt eine Datenbanktransaktion mit dem aktuellen IsolationLevel-Wert.

Overloads Public Function BeginTransaction( _
   ByVal isolationLevel As IsolationLevel _) As SqlCeTransaction
[C#]
public SqlCeTransaction BeginTransaction(IsolationLevelisolationLevel);
[C++]
public: SqlCeTransaction* BeginTransaction(IsolationLevelisolationLevel);
[JScript]
public function BeginTransaction(
   isolationLevel : IsolationLevel) : SqlCeTransaction;

Parameter

  • isolationLevel
    Der Transaktionsisolationsgrad für diese Verbindung.

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 | Commit | Rollback