共用方式為


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
實作

範例

下列範例會建立 OdbcConnectionOdbcTransaction。 它也示範如何使用 BeginTransactionCommitRollback 方法。

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 物件。 與交易相關聯的所有後續作業(例如認可或中止交易)都會在 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)

建立物件,其中包含產生用來與遠端物件通訊之 Proxy 所需的所有相關信息。

(繼承來源 MarshalByRefObject)
Dispose()

釋放 DbTransaction所使用的 Unmanaged 資源。

(繼承來源 DbTransaction)
Dispose(Boolean)

釋放 DbTransaction 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 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 類別實例所使用的資源。

擴充方法

ConfigureAwait(IAsyncDisposable, Boolean)

設定如何執行從異步可處置專案傳回的工作等候。

適用於

另請參閱