簡體   English   中英

如何使用DataContext.ExecuteCommand並獲取執行的存儲proc返回值?

[英]How to use DataContext.ExecuteCommand and get the executed stored proc return value?

在ac#項目中,我按以下方式調用存儲過程:

System.Data.Linq.DataContext dataContext = MembershipContext.GetContext(connectionString);
int returnValue = dataContext.ExecuteCommand("EXEC usp_SomeProcedure {0}, {1}, {2}", param1, param2, param3);

但是,ExecuteCommand返回受影響的行數,而不是存儲過程的返回值。 獲得該價值的最簡單方法是什么。 我需要這樣做是因為SP成功返回0,如果發生錯誤則返回正整數值。

現在,存儲的proc使用RETURN輸出其返回值。 但是,我可以將其更改為SELECT,也可以根據需要使用輸出參數。

我相信您需要將CommandType設置為CommandType.StoredProcedure才能從存儲的過程中獲取返回值。 請在此處查看已接受的答案: 從ADO.NET中的存儲過程獲取返回值

如果不需要Linq2Sql映射功能,請不要使用DataContext來調用SP。 只需使用SqlCommand作為down.with.the.bass顯示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM