OdbcTransaction クラス

定義

データ ソースで実行される SQL トランザクションを表します。Represents an SQL transaction to be made at a data source. このクラスは継承できません。This class cannot be inherited.

public ref class OdbcTransaction sealed : System::Data::Common::DbTransaction
public sealed class OdbcTransaction : System.Data.Common.DbTransaction
type OdbcTransaction = class
    inherit DbTransaction
Public NotInheritable Class OdbcTransaction
Inherits DbTransaction
継承
OdbcTransaction
継承
継承
OdbcTransaction

次の例では、OdbcConnectionOdbcTransactionを作成します。The following example creates an OdbcConnection and an OdbcTransaction. また、BeginTransactionCommit、および Rollback メソッドの使用方法も示します。It also demonstrates how to use the BeginTransaction, Commit, and Rollback methods.

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

注釈

アプリケーションは、OdbcConnection オブジェクトで BeginTransaction を呼び出すことによって OdbcTransaction オブジェクトを作成します。The application creates an OdbcTransaction object by calling BeginTransaction on the OdbcConnection object. トランザクションに関連付けられた後続のすべての操作 (たとえば、トランザクションのコミットまたは中止) は、OdbcTransaction オブジェクトで実行されます。All subsequent operations associated with the transaction (for example, committing or aborting the transaction) are performed on the OdbcTransaction object.

プロパティ

Connection

トランザクションに関連付けられた OdbcConnection オブジェクトを取得します。トランザクションが既に無効になっている場合は、null が返されます。Gets the OdbcConnection object associated with the transaction, or null if the transaction is no longer valid.

DbConnection

派生クラス内でオーバーライドされた場合、トランザクションに関連付けられている DbConnection オブジェクトを取得します。When overridden in a derived class, gets the DbConnection object associated with the transaction.

(継承元 DbTransaction)
IsolationLevel

このトランザクションの IsolationLevel を指定します。Specifies the IsolationLevel for this transaction.

メソッド

Commit()

データベース トランザクションをコミットします。Commits the database transaction.

CommitAsync(CancellationToken)

データベース トランザクションを非同期にコミットします。Asynchronously commits the database transaction.

(継承元 DbTransaction)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
Dispose()

DbTransaction によって使用されているアンマネージ リソースを解放します。Releases the unmanaged resources used by the DbTransaction.

(継承元 DbTransaction)
Dispose(Boolean)

DbTransaction によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the DbTransaction and optionally releases the managed resources.

(継承元 DbTransaction)
DisposeAsync()

トランザクション オブジェクトを非同期に破棄します。Asynchronously diposes the transaction object.

(継承元 DbTransaction)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
Rollback()

トランザクションを保留状態からロールバックします。Rolls back a transaction from a pending state.

RollbackAsync(CancellationToken)

トランザクションを保留状態から非同期にロールバックします。Asynchronously rolls back a transaction from a pending state.

(継承元 DbTransaction)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

IDbTransaction.Connection

トランザクションに関連付けられた DbConnection オブジェクト、またはトランザクションが無効になった場合に null 参照を取得します。Gets the DbConnection object associated with the transaction, or a null reference if the transaction is no longer valid.

(継承元 DbTransaction)
IDisposable.Dispose()

OdbcTransaction クラスの現在のインスタンスによって使用されているリソースを解放します。Releases the resources used by the current instance of the OdbcTransaction class.

適用対象

こちらもご覧ください