2011-09-30 104 views
0

我正在使用ASP.NET(VB.NET),SQL 2008 Project。我需要使用不同類中的方法將數據寫入多個表。我必須確保所有數據都是使用一個事務寫入的,所以我使用的是舊方法(而不是TransactionScope)。所以我必須將連接&事務都傳遞給main方法的方法(如果使用TransactionScope,該怎麼辦)?如何將sql事務傳遞給不同類中的方法?

回答

1

所以我一定要連接&交易均來自主要方法傳遞給方法

是。此外,您創建的任何命令都必須將它們的連接和事務屬性分別分配給連接/事務,這些屬性已分配給您。

(如果使用的TransactionScope IM)

無限輕鬆。你可以在你的main中打開一個新的事務範圍,然後任何需要在事務範圍內註冊的方法都可以用選項TransactionScopeOption.Required打開一個新的事務範圍,並且他們將自動從main獲得環境事務。你不需要傳遞任何東西。

+0

如果我在子方法中調用「Complete」它不會提交所有以前的數據插入,是否正確? – Nalaka526

+0

@ Nalaka526:如果它是一個嵌套作用域,那麼在提交外部作用域之前它不會被提交。 – jason

+0

對不起,我的愚蠢......如果我只在父方法(在子方法中沒有TransactionScopes)打開TransactionScope是否可以?主要的方法TransactionScop會包裝子方法數據嗎? – Nalaka526

相關問題