我在一個表單上存儲了一些存儲過程,最後我沒有提交或回滾。一個新的表單加載和一個問題提示用戶「框中是否有其他產品?」當用戶點擊YES時,事務必須回滾。當沒有交易必須提交時。將OracleTransaction值傳遞給新表單
我的問題是如何將交易價值傳遞給新表單?
我在一個表單上存儲了一些存儲過程,最後我沒有提交或回滾。一個新的表單加載和一個問題提示用戶「框中是否有其他產品?」當用戶點擊YES時,事務必須回滾。當沒有交易必須提交時。將OracleTransaction值傳遞給新表單
我的問題是如何將交易價值傳遞給新表單?
您必須創建層:數據訪問層,業務邏輯層和表示Layer.This是3層架構,您的交易必須在數據訪問層,使用此鏈接: http://www.codeproject.com/Articles/36847/Three-Layer-Architecture-in-C-NET 但在這種情況下,我想你使用的MessageBox用於顯示你的問題,你必須得到對話框Result.Use驗證碼:
if (XtraMessageBox.Show("your question", "Heading", MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
{
Transaction.Commit();
}
我不認爲交易屬於表單附近的任何地方。形式是觀點;交易由服務擁有和管理。你的設計聽起來不像它的正確分層。
那麼你的建議是什麼? –
創建一個基於接口的服務層,並讓表單調用它來完成用例。該服務將提交或回滾事務。用戶表示在查看購物車時交易需要提交。我還建議搜索堆棧溢出「購物車」。你不是第一個。 – duffymo
與其他人一樣,我同意你的關注點分離較差,但如果你想取得一些進展,現在的一種方式將是的BeginTransaction方法(和它的兄弟姐妹)你正在使用的wahtever連接類。 –