System.Data Namespace IDbConnection Class
Begins a database transaction with the specified isolation level.
[ VB ]
Overloads Public Function BeginTransaction ( _
ByVal iso As IsolationLevel _
) As IDbTransaction
[ C# ]
public IDbTransaction BeginTransaction (
IsolationLevel iso
);
[ C++ ]
public: IDbTransaction BeginTransaction (
IsolationLevel* iso
);
[ JScript ]
public function BeginTransaction (
iso : IsolationLevel
) : IDbTransaction
- iso
- The isolation level under which the transaction should run.
An object representing the new transaction.
Once the transaction has completed, you must explicity commit or roll back the transaction using the Commit or Rollback method.
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 );
// 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 ( );
}
}
Public Sub RunSqlTransaction ( connString As IsolationLevel )
Dim myConn As New SqlConnection ( connString )
myConn.Open ( )
Dim myCommand As New SqlCommand ( )
Dim myTrans As SqlTransaction
' start a local transaction
myTrans = myConn.BeginTransaction ( IsolationLevel.ReadCommitted )
' 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 e As Exception
myTrans.Rollback ( )
Response.Write ( e.ToIsolationLevel ( ) )
Response.Write ( "No record written to database." )
Finally
myConn.Close ( )
End Try
End Sub |
|
C# |
VB |
IDbConnection Members IDbConnection.BeginTransaction Overload List Commit Save Rollback