See Also

DbConnectionBase Class  | DbConnectionBase Members

Language

Visual Basic

C#

Show All

transaction
A reference to an existing System.Transactions.Transaction in which to enlist.
See AlsoLanguagesDevart.Data.OracleSend comments on this topic.

EnlistTransaction Method

Devart.Common Namespace > DbConnectionBase Class : EnlistTransaction Method

Enlists in the specified transaction.

[Visual Basic]
Overrides Public Sub EnlistTransaction( _    ByVal transaction As Transaction _ )
[C#]
public override void EnlistTransaction(    Transaction transaction );

Parameters

transaction
A reference to an existing System.Transactions.Transaction in which to enlist.

Remarks

Once a connection is explicitly enlisted in a distributed transaction, it cannot be unenlisted or enlisted in another transaction until the first transaction finishes.

This feature is not available in Direct mode.

Example

These samples demonstrate usage of EnlistTransaction.

[C#] 

OracleCommand1.Connection=OracleConnection1; 
using (TransactionScope transScope = new TransactionScope()) { 
 OracleConnection1.Open(); 
 OracleCommand1.ExecuteNonQuery(); 
 transScope.Complete(); 

OracleConnection1.Close(); 
 
- or - 
 
OracleCommand1.Connection=OracleConnection1; 
OracleConnection1.Open(); 
using (TransactionScope transScope = new TransactionScope()) { 
 OracleConnection1.EnlistTransaction(Transaction.Current); 
 OracleCommand1.ExecuteNonQuery(); 
 transScope.Complete(); 

OracleConnection1.Close(); 
 
- or - 
 
CommittableTransaction cmtTx = new CommittableTransaction(); 
OracleConnection1.Open(); 
OracleConnection1.EnlistTransaction(cmtTx); 
OracleCommand1.ExecuteNonQuery(); 
OracleConnection1.Close(); 

[Visual Basic] 

Me.OracleCommand1.Connection = Me.OracleConnection1
Using transScope = New Transactions.TransactionScope
  Me.OracleConnection1.Open()
  Me.OracleCommand1.ExecuteNonQuery()
  transScope.Complete()
End Using
Me.OracleConnection1.Close()

- or -

Me.OracleCommand1.Connection = Me.OracleConnection1
Me.OracleConnection1.Open()
Using transScope = New Transactions.TransactionScope
  Me.OracleConnection1.EnlistTransaction(Transactions.Transaction.Current)
  Me.OracleCommand1.ExecuteNonQuery()
  transScope.Complete()
End Using
Me.OracleConnection1.Close()

- or -

Dim cmtTx As New Transactions.CommittableTransaction
Me.OracleConnection1.Open()
Me.OracleConnection1.EnlistTransaction(cmtTx)
Me.OracleCommand1.ExecuteNonQuery()
Me.OracleConnection1.Close()

See Also

DbConnectionBase Class  | DbConnectionBase Members

 

 


© 2002 - 2013 Devart. All Rights Reserved.