Click here to Skip to main content
12,952,792 members (36,726 online)
Rate this:
 
Please Sign up or sign in to vote.
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...

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 31-Jan-13 19:04pm
Updated 31-Jan-13 19:43pm
v2

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

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; 
 }
  Permalink  

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

    Print Answers RSS
Top Experts
Last 24hrsThis month
OriginalGriff 6,389
CHill60 3,490
Maciej Los 3,103
Jochen Arndt 1,975
ppolymorphe 1,920


Advertise | Privacy | Mobile
Web01 | 2.8.170525.1 | Last Updated 1 Feb 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100