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
実装

次の例では、 と を OdbcConnection 作成します OdbcTransaction。 また、および Rollback メソッドのBeginTransactionCommit使用方法についても説明します。

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 オブジェクト、またはトランザクションが無効になった場合に null 参照を取得します。

(継承元 DbTransaction)
IDisposable.Dispose()

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

OdbcTransaction クラスの現在のインスタンスによって使用されているリソースを解放します。

適用対象

こちらもご覧ください