OdbcTransaction Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine SQL-Transaktion dar, die an einer Datenquelle vorgenommen werden soll. Diese Klasse kann nicht geerbt werden.
public ref class OdbcTransaction sealed : System::Data::Common::DbTransaction
public ref class OdbcTransaction sealed : MarshalByRefObject, IDisposable, System::Data::IDbTransaction
public sealed class OdbcTransaction : System.Data.Common.DbTransaction
public sealed class OdbcTransaction : MarshalByRefObject, IDisposable, System.Data.IDbTransaction
type OdbcTransaction = class
inherit DbTransaction
type OdbcTransaction = class
inherit MarshalByRefObject
interface IDbTransaction
interface IDisposable
Public NotInheritable Class OdbcTransaction
Inherits DbTransaction
Public NotInheritable Class OdbcTransaction
Inherits MarshalByRefObject
Implements IDbTransaction, IDisposable
- Vererbung
- Vererbung
- Implementiert
Beispiele
Im folgenden Beispiel wird ein OdbcConnection und ein OdbcTransactionerstellt. Außerdem wird die Verwendung der methoden BeginTransaction, Commitund Rollback veranschaulicht.
public static void ExecuteTransaction(string connectionString)
{
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
OdbcCommand command = new OdbcCommand();
OdbcTransaction transaction = null;
// Set the Connection to the new OdbcConnection.
command.Connection = connection;
// Open the connection and execute the transaction.
try
{
connection.Open();
// Start a local transaction
transaction = connection.BeginTransaction();
// Assign transaction object for a pending local transaction.
command.Connection = connection;
command.Transaction = transaction;
// Execute the commands.
command.CommandText =
"Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";
command.ExecuteNonQuery();
command.CommandText =
"Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";
command.ExecuteNonQuery();
// Commit the transaction.
transaction.Commit();
Console.WriteLine("Both records are written to database.");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
try
{
// Attempt to roll back the transaction.
transaction.Rollback();
}
catch
{
// Do nothing here; transaction is not active.
}
}
// The connection is automatically closed when the
// code exits the using block.
}
}
Public Sub ExecuteTransaction(ByVal connectionString As String)
Using connection As New OdbcConnection(connectionString)
Dim command As New OdbcCommand()
Dim transaction As OdbcTransaction
' Set the Connection to the new OdbcConnection.
command.Connection = connection
' Open the connection and execute the transaction.
Try
connection.Open()
' Start a local transaction.
transaction = connection.BeginTransaction()
' Assign transaction object for a pending local transaction.
command.Connection = connection
command.Transaction = transaction
' Execute the commands.
command.CommandText = _
"Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"
command.ExecuteNonQuery()
command.CommandText = _
"Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"
command.ExecuteNonQuery()
' Commit the transaction.
transaction.Commit()
Console.WriteLine("Both records are written to database.")
Catch ex As Exception
Console.WriteLine(ex.Message)
' Try to rollback the transaction
Try
transaction.Rollback()
Catch
' Do nothing here; transaction is not active.
End Try
End Try
' The connection is automatically closed when the
' code exits the Using block.
End Using
End Sub
Hinweise
Die Anwendung erstellt ein OdbcTransaction-Objekt, indem BeginTransaction für das OdbcConnection-Objekt aufgerufen wird. Alle nachfolgenden Vorgänge, die der Transaktion zugeordnet sind (z. B. Commit oder Abbrechen der Transaktion), werden für das OdbcTransaction-Objekt ausgeführt.
Eigenschaften
Connection |
Ruft das OdbcConnection Objekt ab, das der Transaktion zugeordnet ist, oder |
DbConnection |
Wenn eine abgeleitete Klasse überschrieben wird, ruft das DbConnection Objekt ab, das der Transaktion zugeordnet ist. (Geerbt von DbTransaction) |
IsolationLevel |
Gibt die IsolationLevel für diese Transaktion an. |
SupportsSavepoints |
Ruft einen Wert ab, der angibt, ob diese DbTransaction Instanz Datenbankspeicherpunkte unterstützt.
Bei |
Methoden
Commit() |
Commits der Datenbanktransaktion. |
CommitAsync(CancellationToken) |
Führt asynchron einen Commit für die Datenbanktransaktion durch. (Geerbt von DbTransaction) |
CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
Dispose() |
Gibt die nicht verwalteten Ressourcen frei, die vom DbTransactionverwendet werden. (Geerbt von DbTransaction) |
Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die vom DbTransaction verwendet werden, und gibt optional die verwalteten Ressourcen frei. (Geerbt von DbTransaction) |
DisposeAsync() |
Diposes the transaction object asynchron. (Geerbt von DbTransaction) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Geerbt von MarshalByRefObject) |
Release(String) |
Zerstört einen zuvor in der aktuellen Transaktion definierten Speicherpunkt. Auf diese Weise kann das System einige Ressourcen zurückfordern, bevor die Transaktion endet. (Geerbt von DbTransaction) |
ReleaseAsync(String, CancellationToken) |
Zerstört einen zuvor in der aktuellen Transaktion definierten Speicherpunkt. Auf diese Weise kann das System einige Ressourcen zurückfordern, bevor die Transaktion endet. (Geerbt von DbTransaction) |
Rollback() |
Rollback einer Transaktion aus einem ausstehenden Zustand. |
Rollback(String) |
Setzt alle Befehle zurück, die nach dem Festlegen des angegebenen Speicherpunkts ausgeführt wurden. (Geerbt von DbTransaction) |
RollbackAsync(CancellationToken) |
Führt asynchron ein Rollback einer Transaktion aus einem ausstehenden Zustand durch. (Geerbt von DbTransaction) |
RollbackAsync(String, CancellationToken) |
Setzt alle Befehle zurück, die nach dem Festlegen des angegebenen Speicherpunkts ausgeführt wurden. (Geerbt von DbTransaction) |
Save(String) |
Erstellt einen Speicherpunkt in der Transaktion. Dadurch können alle Befehle ausgeführt werden, die ausgeführt werden, nachdem der Speicherpunkt eingerichtet wurde, zurückgesetzt werden, wodurch der Transaktionsstatus zum Zeitpunkt des Speicherpunkts wiederhergestellt wird. (Geerbt von DbTransaction) |
SaveAsync(String, CancellationToken) |
Erstellt einen Speicherpunkt in der Transaktion. Dadurch können alle Befehle ausgeführt werden, die ausgeführt werden, nachdem der Speicherpunkt eingerichtet wurde, zurückgesetzt werden, wodurch der Transaktionsstatus zum Zeitpunkt des Speicherpunkts wiederhergestellt wird. (Geerbt von DbTransaction) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IDbTransaction.Connection |
Ruft das DbConnection-Objekt ab, das der Transaktion zugeordnet ist, oder einen Nullverweis, wenn die Transaktion nicht mehr gültig ist. (Geerbt von DbTransaction) |
IDisposable.Dispose() |
Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht. Gibt die von der aktuellen Instanz der OdbcTransaction Klasse verwendeten Ressourcen frei. |
Erweiterungsmethoden
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguriert, wie auf die von einem asynchronen Einweg zurückgegebenen Aufgaben gewartet wird. |