CommittableTransaction 생성자

정의

CommittableTransaction 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the CommittableTransaction class.

오버로드

CommittableTransaction()

CommittableTransaction 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the CommittableTransaction class.

CommittableTransaction(TimeSpan)

지정된 CommittableTransaction 값을 사용하여 timeout 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the CommittableTransaction class with the specified timeout value.

CommittableTransaction(TransactionOptions)

지정된 트랜잭션 옵션을 사용하여 CommittableTransaction 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the CommittableTransaction class with the specified transaction options.

CommittableTransaction()

CommittableTransaction 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the CommittableTransaction class.

public:
 CommittableTransaction();
public CommittableTransaction ();
Public Sub New ()

예외

Windows 98, Windows 98 Second Edition 또는 Windows Millennium Edition에서 트랜잭션을 만들려고 한 경우An attempt to create a transaction under Windows 98, Windows 98 Second Edition or Windows Millennium Edition.

예제

다음 샘플에서는 CommittableTransaction의 새 인스턴스를 만들고 커밋합니다.The following sample creates a new instance of CommittableTransaction and commits it.

//Create a committable transaction
tx = new CommittableTransaction();

SqlConnection myConnection = new SqlConnection("server=(local)\\SQLExpress;Integrated Security=SSPI;database=northwind");
SqlCommand myCommand = new SqlCommand();

//Open the SQL connection
myConnection.Open();

//Give the transaction to SQL to enlist with
myConnection.EnlistTransaction(tx);

myCommand.Connection = myConnection;

// Restore database to near it's original condition so sample will work correctly.
myCommand.CommandText = "DELETE FROM Region WHERE (RegionID = 100) OR (RegionID = 101)";
myCommand.ExecuteNonQuery();

// Insert the first record.
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'MidWestern')";
myCommand.ExecuteNonQuery();

// Insert the second record.
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'MidEastern')";
myCommand.ExecuteNonQuery();

// Commit or rollback the transaction
while (true)
{
    Console.Write("Commit or Rollback? [C|R] ");
    ConsoleKeyInfo c = Console.ReadKey();
    Console.WriteLine();

    if ((c.KeyChar == 'C') || (c.KeyChar == 'c'))
    {
        tx.Commit();
        break;
    }
    else if ((c.KeyChar == 'R') || (c.KeyChar == 'r'))
    {
        tx.Rollback();
        break;
    }
}
myConnection.Close();
tx = null;
tx = New CommittableTransaction

Dim myConnection As New SqlConnection("server=(local)\SQLExpress;Integrated Security=SSPI;database=northwind")
Dim myCommand As New SqlCommand()

'Open the SQL connection
myConnection.Open()

'Give the transaction to SQL to enlist with
myConnection.EnlistTransaction(tx)

myCommand.Connection = myConnection

'Restore database to near it's original condition so sample will work correctly.
myCommand.CommandText = "DELETE FROM Region WHERE (RegionID = 100) OR (RegionID = 101)"
myCommand.ExecuteNonQuery()

'Insert the first record.
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'MidWestern')"
myCommand.ExecuteNonQuery()

'Insert the second record.
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'MidEastern')"
myCommand.ExecuteNonQuery()

'Commit or rollback the transaction
Dim c As ConsoleKeyInfo
While (True)
    Console.Write("Commit or Rollback? [C|R] ")
    c = Console.ReadKey()
    Console.WriteLine()

    If (c.KeyChar = "C") Or (c.KeyChar = "c") Then
        tx.Commit()
        Exit While
    ElseIf ((c.KeyChar = "R") Or (c.KeyChar = "r")) Then
        tx.Rollback()
        Exit While
    End If
End While

myConnection.Close()
tx = Nothing

CommittableTransaction(TimeSpan)

지정된 CommittableTransaction 값을 사용하여 timeout 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the CommittableTransaction class with the specified timeout value.

public:
 CommittableTransaction(TimeSpan timeout);
public CommittableTransaction (TimeSpan timeout);
new System.Transactions.CommittableTransaction : TimeSpan -> System.Transactions.CommittableTransaction
Public Sub New (timeout As TimeSpan)

매개 변수

timeout
TimeSpan

트랜잭션이 중단되기 전에 존재할 수 있는 최대 시간입니다.The maximum amount of time the transaction can exist, before it is aborted.

예외

Windows 98, Windows 98 Second Edition 또는 Windows Millennium Edition에서 트랜잭션을 만들려고 한 경우An attempt to create a transaction under Windows 98, Windows 98 Second Edition or Windows Millennium Edition.

CommittableTransaction(TransactionOptions)

지정된 트랜잭션 옵션을 사용하여 CommittableTransaction 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the CommittableTransaction class with the specified transaction options.

public:
 CommittableTransaction(System::Transactions::TransactionOptions options);
public CommittableTransaction (System.Transactions.TransactionOptions options);
new System.Transactions.CommittableTransaction : System.Transactions.TransactionOptions -> System.Transactions.CommittableTransaction
Public Sub New (options As TransactionOptions)

매개 변수

options
TransactionOptions

새 트랜잭션에 사용할 트랜잭션 옵션을 설명하는 TransactionOptions 구조체입니다.A TransactionOptions structure that describes the transaction options to use for the new transaction.

예외

Windows 98, Windows 98 Second Edition 또는 Windows Millennium Edition에서 트랜잭션을 만들려고 한 경우An attempt to create a transaction under Windows 98, Windows 98 Second Edition or Windows Millennium Edition.

options이 잘못되었습니다.options is invalid.

예제

다음 샘플에서는 옵션을 사용 하 여 CommittableTransaction의 새 인스턴스를 만들고 중단 합니다.The following sample creates a new instance of CommittableTransaction with options, and aborts it.

적용 대상