Monday, August 8, 2011

ADO.NET Transaction Code

ADO.Net Provides 2 types transactions are:

Local Transaction
Distributed Transaction

Local Transaction: Is Performed in a Single Data source such as Single Database. It is managed within System.Transactions(IDbTransaction) namespace. The Following transaction classes available in the .Net Framework 2.0

Classes and its Purpose
System.Data.Sqlclient.SqlTransactions - Data Provider for SQL Server
System.Data.OleDbclient.OleDbTransactions - Data Provider for OLE DB
System.Data.Odbc.OdbcTransactions - Data Provider for ODBC
System.Data.Oracleclient.OracleTransactions - Data Provider for Oracle

Code Snippets
SqlTransaction tran = null;
string strCon = "Initial Catalog=SampleDB;" +"Data Source=SQLJames;" +"User id=sa;Password=test" ;
cnConnection = new SqlConnection();
cnConnection.ConnectionString = strCon;
cnConnection.Open();
try{
// Begin transaction called
tran = cnConnection.BeginTransaction();
// Create the command object
SqlCommand cmd = new SqlCommand("Insert into DemoData(Year,VersionName,EnteredBy) " +" values('2010','Version2.0',1)", cnConnection, tran);
cmd.ExecuteNonQuery();
tran.Commit();
// commit the transaction
}
catch (Exception ex)
{
// rollback if something wrong
tran.Rollback();
strError = ("Error Occurred in GETDBTransaction Method - " + ex.Message);
}
finally{cnConnection.Close();
}