我有一個輸出參數的存儲過程。如何使用C#代碼讀取此值?如何運行C#中有OUTPUT參數的存儲過程?
回答
我假設你使用ADO.NET?如果是這樣,SqlParameter類具有屬性「方向」。將方向設置爲輸出,並在查詢執行後讀取該參數的值。
事情是這樣的:
using (SqlCommand cmd = new SqlCommand("MyStoredProcedure", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parm = new SqlParameter("@pkid", SqlDbType.Int);
parm.Value = 1;
parm.Direction = ParameterDirection.Input;
cmd.Parameters.Add(parm);
SqlParameter parm2 = new SqlParameter("@ProductName", SqlDbType.VarChar);
parm2.Size = 50;
parm2.Direction = ParameterDirection.Output; // This is important!
cmd.Parameters.Add(parm2);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
我有另一個問題,我需要確定輸出參數 是十進制(8,2)如何! – shmandor 2010-08-08 09:37:09
我不確定我是否理解這個問題。如果您要在輸出變量中返回一個小數,您應該將SqlDbType設置爲十進制。如果你實際上返回一個十進制數,你可以像這樣進行轉換:(十進制)cmd.Parameters [@「MyDecimal」] Value – Merrimack 2010-08-08 09:46:31
我強烈建議將'SqlConnection'和'SqlCommand'放入'using(.... ){...}'塊作爲最佳實踐 – 2010-08-08 09:50:49
- 1. SqlServer中的存儲過程OUTPUT參數
- 2. .NET CLR存儲過程OUTPUT參數
- 3. 如何在SQLServer中獲取存儲過程sp_setapprole的OUTPUT參數
- 4. 如何在存儲過程中使用OUTPUT參數
- 5. 使用Output參數執行存儲過程?
- 6. 使用參數運行存儲過程
- 7. Sybase - 存儲過程 - 將SQL查詢的結果存儲到OUTPUT參數中
- 8. 在存儲過程中執行帶參數的存儲過程
- 9. 如何通過C#中的存儲過程傳遞參數
- 10. 運行存儲過程帶有參數的查詢
- 11. 如何在存儲過程中調用存儲過程(帶有2個參數)?
- 12. C#SQLSERVER存儲過程的參數
- 13. 如何在c#中獲取存儲過程的參數名稱
- 14. 如何將XML參數添加到C#中的存儲過程?
- 15. 如何將具有參數的SQL Server存儲過程轉換爲具有參數的Oracle存儲過程?
- 16. C#運行臨時存儲過程
- 17. 在存儲過程OUTPUT DELETED條款
- 18. 如何運行此存儲過程
- 19. 調用沒有任何參數的存儲過程c#
- 20. 執行與參數的存儲過程
- 21. 我可以在存儲過程中使用可選的OUTPUT參數嗎?
- 22. 如何在C#中調用參數化存儲過程(ASP.Net)?
- 23. 如何提交在存儲過程中接收參數的存儲過程?
- 24. 如何使用datetime參數調用存儲過程中的存儲過程
- 25. 在C#中將參數存儲到DataGridView存儲過程#
- 26. 存儲過程的參數 - 有時NULL
- 27. 存儲過程的參數
- 28. 存儲過程輸出參數asp.net c#
- 29. C#OraOLEDB存儲過程OUT參數
- 30. C#Oracle存儲過程參數順序
請郵寄到現在爲止您編寫的代碼。 – 2010-08-08 09:02:22
我喜歡這個,因爲這是一個有用的問題,但由於缺乏「我試過這個」我不能這樣做。 – JYelton 2013-09-16 17:37:40