31.3 Methods Reference

Begin [OLE DB only]

 Transaction   nestTran   = Transaction.Begin(); Transaction   nestTran   = Transaction.Begin(IsolationLevel   il   ); 

Starts a nested database transaction.

Parameters

nestTran

Returns a reference to the nested database transaction.

il

The isolation level to use for the new transaction.

Example

This example demonstrates how to start a nested transaction using the Begin method:

 String connString = "Data Source=(local);Integrated security=SSPI;" +      "Initial Catalog=Northwind;"; OleDbConnection conn = new OleDbConnection(connString); conn.Open(); OleDbTransaction tran = conn.BeginTransaction(); // start a nested transaction OleDbTransaction nestTran = tran.Begin(); 

Notes

This method is available only in the OLE DB .NET data provider.

An InvalidOperationException is raised if the data source doesn't support nested transactions.

Commit

 Transaction.Commit(); 

Commits the database transaction.

Parameters

None.

Example

The following example demonstrates how to start a transaction and either commit the transaction or roll the transaction back, depending on the outcome of commands executed against the data source:

 String connString = "Data Source=(local);Integrated security=SSPI;" +      "Initial Catalog=Northwind;"; SqlConnection conn = new SqlConnection(connString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); try {     // ... execute some commands against the data source     tran.Commit(); } catch (Exception e) {     tran.Rollback(); } finally {     conn.Close(); } 
Rollback

 Transaction.Rollback(); Transaction.Rollback(String   savePointName   ); 

Rolls back a transaction from a pending state. A savepoint can optionally be specified as the point to roll the transaction back to with the SQL Server .NET data provider.

Parameters

None.

Example

See the Example for the Commit( ) method in this chapter.

Note

The overloaded Rollback( ) method with the savepoint name argument is available only in the SQL Server .NET data provider.

Save [SQL Server only]

 void = Transaction.Save(String   savePointName   ); 

Creates a savepoint in the transaction that can roll back a portion of the transaction.

Parameters

None.

Example

The following example demonstrates how to create and use a savepoint to partially roll back a transaction:

 String connString = "Data Source=(local);Integrated security=SSPI;" +      "Initial Catalog=Northwind;"; SqlConnection conn = new SqlConnection(connString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); try {     // ... execute some commands against the data source } catch (Exception ex) {     // roll back the transaction, close the connection, and leave     tran.Rollback();     conn.Close();     return; } // create a save point called SavePoint1 tran.Save("SavePoint1"); try {     // ... execute some commands against the data source     tran.Commit(); } catch (SqlException ex) {     // roll back the transaction to the save point     tran.Rollback("SavePoint1");     // commit all processing up to the save point     tran.Commit(); } finally {     conn.Close(); } 

Note

This method is available only in the SQL Server .NET data provider.



ADO. NET in a Nutshell
ADO.NET in a Nutshell
ISBN: 0596003617
EAN: 2147483647
Year: 2005
Pages: 415

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net