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

Примеры

В следующем примере создаются и OdbcConnectionOdbcTransaction. В нем также показано, как использовать методы 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 вызова BeginTransactionOdbcConnection объекта . Все последующие операции, связанные с транзакцией (например, фиксация или прерывание транзакции), выполняются с 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.

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

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