![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 芋頭 ![]()
![]() |
我有一個C# 網頁程式,裡面要去呼叫4個獨立的MSSQL預存程序,我希望任一個錯誤就rollback 在網路上有找到範例架購如下 using (var conn = new SqlConnection(...)) trans = conn.BeginTransaction(); try { ...call P1 using transaction ...call P2 using transaction ...call P3 using transaction ...call P4 using transaction trans.Commit(); } catch { trans.RollBack(); throw; } } P1~P4目前我是獨立成4個function去呼叫,且四個function裡面也都有using (var conn = new SqlConnection(...)) , 這樣能夠都rollback嗎?因為我覺得p1~p4裡面的connection好像是獨立的 謝謝指導~~~
搜尋相關Tags的文章:
[ rollback ] ,
本篇文章發表於2019-01-18 17:28 |
別忘捐VP感謝幫助你的人 | 新手會員瞧一瞧 |
1樓 |
有無考慮直接寫一支預存程序,裡面分別EXEC這四支預存程序?
本篇文章回覆於2019-01-28 11:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
芋頭 ![]() |
有的,目前我就是把程式調整成這樣,
也就是把transaction作在SQL Server端,而非前端程式,但前端程式還是比較好偵錯跟記錄 所以才有此一問 謝謝~~
本篇文章回覆於2019-01-28 12:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
其實您做個實驗就可以自己測試看看了
您可以P1,P2,P3都讓他正常成功 P4的時候故意讓他失敗 然後去查看P1,P2,P3分別維護的資料是否還存在 ^.^a
本篇文章回覆於2019-01-28 18:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |