See Also

OracleTransaction Members  | Devart.Data.Oracle Namespace  | OracleDataReader Class  | OracleConnection Class

Language

Visual Basic

C#

Show All

See AlsoLanguagesDevart.Data.OracleSend comments on this topic.

OracleTransaction Class

Devart.Data.Oracle Namespace : OracleTransaction Class

Represents a SQL transaction to be made in the Oracle database.

For a list of all members of this type, see OracleTransaction members.

Inheritance Hierarchy

System.Object
   System.MarshalByRefObject
      System.Data.Common.DbTransaction
         Devart.Common.DbTransactionBase
            Devart.Data.Oracle.OracleTransaction

Syntax

[Visual Basic]
Public Class OracleTransaction    Inherits DbTransactionBase    Implements IDbTransactionIDisposable 
[C#]
public class OracleTransaction : DbTransactionBase, IDbTransactionIDisposable 

Remarks

The application creates a OracleTransaction object by calling BeginTransaction on the OracleConnection object. All subsequent operations associated with the transaction (for example, committing or aborting the transaction), are performed on the OracleTransaction object.

The correlation between OracleConnection and OracleTransaction is always 1:1.

Example

The following example creates a OracleConnection and a OracleTransaction. It also demonstrates how to use the BeginTransaction, Commit, and Rollback methods.

[C#] 

public static void RunOracleTransaction(string myConnString) { 
    using (OracleConnection myConnection = new OracleConnection(myConnString)) { 
        myConnection.Open(); 
        // Start a local transaction 
        OracleTransaction myTrans = myConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted); 
        OracleCommand myCommand = myConnection.CreateCommand(); 
        try { 
            myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(52, 'DEVELOPMENT')"; 
            myCommand.ExecuteNonQuery(); 
            myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(62, 'PRODUCTION')"; 
            myCommand.ExecuteNonQuery(); 
            myTrans.Commit(); 
            Console.WriteLine("Both records are written to database."); 
        } 
        catch (Exception e) { 
            myTrans.Rollback(); 
            Console.WriteLine(e.ToString()); 
            Console.WriteLine("Neither record was written to database."); 
        } 
        finally { 
            myCommand.Dispose(); 
            myTrans.Dispose(); 
        } 
    } 

[Visual Basic] 

Public Shared Sub RunOracleTransaction(myConnString As String)
    Using myConnection As New OracleConnection(myConnString)
        myConnection.Open()
        ' Start a local transaction
        Dim myTrans As OracleTransaction = myConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)
        Dim myCommand As OracleCommand = myConnection.CreateCommand()
        Try
            myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(52, 'DEVELOPMENT')"
            myCommand.ExecuteNonQuery()
            myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(62, 'PRODUCTION')"
            myCommand.ExecuteNonQuery()
            myTrans.Commit()
            Console.WriteLine("Both records are written to database.")
        Catch e As Exception
            myTrans.Rollback()
            Console.WriteLine(e.ToString())
            Console.WriteLine("Neither record was written to database.")
        Finally
            myCommand.Dispose()
            myTrans.Dispose()
        End Try
    End Using
End Sub

See Also

OracleTransaction Members  | Devart.Data.Oracle Namespace  | OracleDataReader Class  | OracleConnection Class

 

 


© 2002 - 2013 Devart. All Rights Reserved.