OdbcTransaction Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje transakci SQL, která má být provedena ve zdroji dat. Tato třída se nemůže dědit.
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
- Dědičnost
- Dědičnost
- Implementuje
Příklady
Následující příklad vytvoří a OdbcConnectionOdbcTransaction. Ukazuje také, jak používat BeginTransactionmetody , Commita Rollback .
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
Poznámky
Aplikace vytvoří OdbcTransaction objekt voláním BeginTransaction objektu OdbcConnection . Všechny následné operace přidružené k transakci (například potvrzení nebo přerušení transakce) jsou provedeny na objektu OdbcTransaction .
Vlastnosti
Connection |
OdbcConnection Získá objekt přidružený k transakci, nebo |
DbConnection |
Při přepsání v odvozené třídě získá DbConnection objekt přidružený k transakci. (Zděděno od DbTransaction) |
IsolationLevel |
Určuje pro IsolationLevel tuto transakci. |
SupportsSavepoints |
Získá hodnotu, která označuje, zda tato DbTransaction instance podporuje savepoints databáze.
Pokud |
Metody
Commit() |
Potvrdí databázi transakce. |
CommitAsync(CancellationToken) |
Asynchronně potvrdí databázové transakce. (Zděděno od DbTransaction) |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používaného ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Dispose() |
Uvolní nespravované prostředky používané DbTransactionnástrojem . (Zděděno od DbTransaction) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané DbTransaction nástrojem a volitelně uvolní spravované prostředky. (Zděděno od DbTransaction) |
DisposeAsync() |
Asynchronně rozdělí objekt transakce. (Zděděno od DbTransaction) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
Release(String) |
Zničí savepoint dříve definovaný v aktuální transakci. To umožňuje systému získat zpět některé prostředky před ukončením transakce. (Zděděno od DbTransaction) |
ReleaseAsync(String, CancellationToken) |
Zničí savepoint dříve definovaný v aktuální transakci. To umožňuje systému získat zpět některé prostředky před ukončením transakce. (Zděděno od DbTransaction) |
Rollback() |
Vrátí transakci zpět z čekajícího stavu. |
Rollback(String) |
Vrátí zpět všechny příkazy, které byly provedeny po vytvoření zadaného savepointu. (Zděděno od DbTransaction) |
RollbackAsync(CancellationToken) |
Asynchronně vrátí transakci zpět z čekajícího stavu. (Zděděno od DbTransaction) |
RollbackAsync(String, CancellationToken) |
Vrátí zpět všechny příkazy, které byly provedeny po vytvoření zadaného savepointu. (Zděděno od DbTransaction) |
Save(String) |
Vytvoří v transakci bod uložení. To umožňuje vrátit zpět všechny příkazy, které jsou spuštěny po vytvoření savepointu, a obnovit tak stav transakce do stavu, který byl v době uložení bodu. (Zděděno od DbTransaction) |
SaveAsync(String, CancellationToken) |
Vytvoří v transakci bod uložení. To umožňuje vrátit zpět všechny příkazy, které jsou spuštěny po vytvoření savepointu, a obnovit tak stav transakce do stavu, který byl v době uložení bodu. (Zděděno od DbTransaction) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IDbTransaction.Connection |
DbConnection Získá objekt přidružený k transakci nebo null odkaz, pokud transakce již není platná. (Zděděno od DbTransaction) |
IDisposable.Dispose() |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Uvolní prostředky používané aktuální instancí třídy OdbcTransaction. |
Metody rozšíření
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje, jak se provádí čekání na úlohy vrácené z asynchronního jednorázového použití. |
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro