Click here to Skip to main content
15,898,134 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i am using data access layer for my project
now i am inserting records in three tables using the same function so how can i use transaction for any failure of any table
my code like...

C#
int check2 = du.ExecuteSqlSP(objAdTask, spProjectTask);

            int check = du.ExecuteSqlSP(objaddSubAdmin, spAdmin);
            int check1 = du.ExecuteSqlSP(objAdProject, spAdminProject);


where obj.. are parameters and sp.. is my storedProcedure name
how to use transaction for above code
Posted
Updated 31-Jan-13 19:43pm
v2

1 solution

There is an elegant way to do this.
Use the transaction for that. start a transaction, put your stored procedures call in try catch block. After executing the stored procedures commit the transaction. else rollback in catch block.

So it would be something like
IDbConnection conn = //(Create your connecttion object here)
IDbTransaction transaction = conn.BeginTransaction();
try{
       //(Execute you procedures here)
        transaction.Commit();
}
 catch
 {
  // Roll back the transaction. 
  transaction.Rollback();
  throw; 
 }
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900