Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis: Dieser Namespace oder Member bzw. diese Klasse wird nur von .NET Framework, Version 1.1, unterstützt.
Führt einen Rollback einer noch ausstehenden Transaktion aus.
Public Overridable Sub Rollback() Implements _
IDbTransaction.Rollback
[C#]
public virtual void Rollback();
[C++]
public: virtual void Rollback();
[JScript]
public function Rollback();
Implementiert
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
| Exception | Beim Ausführen eines Commit der Transaktion ist ein Fehler aufgetreten. |
| InvalidOperationException | Es wurde bereits ein Commit bzw. ein Rollback für die Transaktion ausgeführt.
– oder – Die Verbindung ist unterbrochen. |
Hinweise
Ein Rollback der Transaktion kann nur ausgeführt werden, wenn die Transaktion noch aussteht (nach dem Aufruf von BeginTransaction, jedoch vor dem Aufruf von Commit).
Beispiel
[Visual Basic, C#] Im folgenden Beispiel werden eine SqlCeConnection und eine SqlCeTransaction erstellt. Darüber hinaus 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"
.
Anforderungen
Plattformen: .NET Compact Framework - Windows CE .NET
.NET Framework-Sicherheit:
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
SqlCeTransaction-Klasse | SqlCeTransaction-Member | System.Data.SqlServerCe-Namespace | Commit | BeginTransaction