asp.net.ph

SqlConnection.BeginTransaction Method ( IsolationLevel )

System.Data.SqlClient Namespace   SqlConnection Class


Begins a database transaction with the specified isolation level and transaction name.

[ VB ]
Overloads Public Function BeginTransaction ( _
   ByVal iso As IsolationLevel, _
   ByVal transactionName As String _
) As SqlTransaction

[ C# ]
public SqlTransaction BeginTransaction (
   IsolationLevel iso,
   String transactionName
);

[ C++ ]
public: SqlTransaction BeginTransaction (
   IsolationLevel* iso,
   String* transactionName
);

[ JScript ]
public function BeginTransaction (
   iso : IsolationLevel,
   transactionName : String
) : SqlTransaction

Parameters

iso
The isolation level under which the transaction should run.
transactionName
The name of the transaction.

Return Value

An object representing the new transaction.

Exceptions


Exception Type Condition
InvalidOperationException Occurs when Parallel transactions are not supported.

Remarks

This command maps to the SQL Server™ implementation of BEGIN TRANSACTION.

You must explicity commit or roll back the transaction using the Commit or Rollback method. To ensure that the SQL Server .NET Data Provider transaction management model performs correctly, avoid using other transaction management models, such as the one provided by SQL Server.

The value in the transactionName parameter can be used in later calls to Rollback and in the savePoint parameter of the Save method.

For more information, see the SQL Server™ documentation, particularly on how nested transactions are handled.

Example

The following example initializes an SqlConnection, opens it, begins a transaction, commits the transaction, then closes the connection.

void RunSqlTransaction ( string connString ) {
   SqlConnection myConn = new SqlConnection ( connString );
   myConn.Open ( );

   SqlCommand myCommand = new SqlCommand ( );
   SqlTransaction myTrans;

   // start a local transaction
   myTrans = myConn.BeginTransaction ( IsolationLevel.ReadCommitted, "sampleTrans" );
   // assign transaction object for a pending local transaction
   myCommand.Transaction = myTrans;

   try {
      myCommand.CommandText = "Insert into Region (
         RegionID, RegionDescription ) VALUES ( 100, 'Description' ) ";
      myCommand.ExecuteNonQuery ( );

      myTrans.Commit ( );
      Response.Write ( "One record written to database." );
   } catch ( Exception e ) {
      myTrans.Rollback ( );
      Response.Write ( e.ToIsolationLevel ( ) );
      Response.Write ( "No record written to database." );
   } finally {
      myConn.Close ( );
   }
}
  C# VB

See Also

SqlConnection Members   SqlConnection.BeginTransaction Overload List   Commit   Save   Rollback Skip Navigation Links




Home
Suggested Reading


Previous page Back to top Next page

© 2000-2010 Rey Nuñez All rights reserved.

If you have any question, comment or suggestion
about this site, please send us a note

You can help support asp.net.ph