1. 程式人生 > >在事務中呼叫N個儲存過程,但這些儲存過程都是有寫事務的

在事務中呼叫N個儲存過程,但這些儲存過程都是有寫事務的

SqlTransaction myTrans = sqlconn.BeginTransaction(); SqlCommand sqlcomm =new SqlCommand(); sqlcomm.Transaction = myTrans; try { sqlcomm.CommandText ="sp_proctestpara";//這個儲存過程中是有事力提交的 sqlcomm.Parameters.Add("@txtName", SqlDbType.NVarChar,
50); sqlcomm.Parameters["@txtName"].Value =this.txtName.Text; SqlDataReader reader1 = sqlcomm.ExecuteReader(); reader1.Close(); sqlcomm.Parameters.Clear(); sqlcomm.CommandText ="testsp";//現在在呼叫這個事條的時候出錯,所以我的事務回滾,但上面的sp_proctestpara回滾不了,那這時要怎麼辦
sqlcomm.Connection = sqlconn; sqlcomm.CommandType = CommandType.StoredProcedure; sqlcomm.ExecuteNonQuery(); myTrans.Commit(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); myTrans.Rollback(); Response.Write(
"sorry!"); } finally { sqlconn.Close(); dsdb.Close(); }