Поделиться через


OdbcTransaction Класс

Определение

Представляет транзакцию SQL, которую нужно сделать в источнике данных. Этот класс не может быть унаследован.

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
Наследование
Наследование
OdbcTransaction
Реализации

Примеры

В следующем примере создается OdbcConnection и OdbcTransaction. В нем также показано, как использовать методы BeginTransaction, Commitи 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

Комментарии

Приложение создает объект OdbcTransaction путем вызова BeginTransaction в объекте OdbcConnection. Все последующие операции, связанные с транзакцией (например, фиксация или прерывание транзакции), выполняются в объекте OdbcTransaction.

Свойства

Connection

Возвращает объект OdbcConnection, связанный с транзакцией, или null, если транзакция больше не действительна.

DbConnection

При переопределении в производном классе получает объект DbConnection, связанный с транзакцией.

(Унаследовано от DbTransaction)
IsolationLevel

Указывает IsolationLevel для этой транзакции.

SupportsSavepoints

Возвращает значение, указывающее, поддерживает ли этот экземпляр DbTransaction точки сохранения базы данных. Если false, методы SaveAsync(String, CancellationToken), RollbackAsync(String, CancellationToken) и ReleaseAsync(String, CancellationToken), а также их синхронные аналоги, как ожидается, будут вызывать NotSupportedException.

(Унаследовано от DbTransaction)

Методы

Commit()

Фиксирует транзакцию базы данных.

CommitAsync(CancellationToken)

Асинхронно фиксирует транзакцию базы данных.

(Унаследовано от DbTransaction)
CreateObjRef(Type)

Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает неуправляемые ресурсы, используемые DbTransaction.

(Унаследовано от DbTransaction)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые DbTransaction, и при необходимости освобождает управляемые ресурсы.

(Унаследовано от DbTransaction)
DisposeAsync()

Асинхронно разлагает объект транзакции.

(Унаследовано от DbTransaction)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неглубокую копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
Release(String)

Уничтожает точку сохранения, определенную ранее в текущей транзакции. Это позволяет системе освободить некоторые ресурсы до завершения транзакции.

(Унаследовано от DbTransaction)
ReleaseAsync(String, CancellationToken)

Уничтожает точку сохранения, определенную ранее в текущей транзакции. Это позволяет системе освободить некоторые ресурсы до завершения транзакции.

(Унаследовано от DbTransaction)
Rollback()

Откат транзакции из ожидающего состояния.

Rollback(String)

Откат всех команд, которые были выполнены после установки указанной точки сохранения.

(Унаследовано от DbTransaction)
RollbackAsync(CancellationToken)

Асинхронно откатывает транзакцию из ожидающего состояния.

(Унаследовано от DbTransaction)
RollbackAsync(String, CancellationToken)

Откат всех команд, которые были выполнены после установки указанной точки сохранения.

(Унаследовано от DbTransaction)
Save(String)

Создает точку сохранения в транзакции. Это позволяет выполнять все команды, выполняемые после отката точки сохранения, восстанавливая состояние транзакции в то, что было в момент сохранения.

(Унаследовано от DbTransaction)
SaveAsync(String, CancellationToken)

Создает точку сохранения в транзакции. Это позволяет выполнять все команды, выполняемые после отката точки сохранения, восстанавливая состояние транзакции в то, что было в момент сохранения.

(Унаследовано от DbTransaction)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

IDbTransaction.Connection

Возвращает объект DbConnection, связанный с транзакцией, или пустую ссылку, если транзакция больше не действительна.

(Унаследовано от DbTransaction)
IDisposable.Dispose()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Освобождает ресурсы, используемые текущим экземпляром класса OdbcTransaction.

Методы расширения

ConfigureAwait(IAsyncDisposable, Boolean)

Настраивает способ ожидания задач, возвращаемых из асинхронного удаления.

Применяется к

См. также раздел