[英]Oracle data access output parameter mixed up
我正在調用一個 Oracle 存儲過程,它包含 15 個輸入參數和 4 個 output 參數。 Output參數設置如下:
OracleParameter p_errn = cmd.Parameters.Add("pErrCode", OracleDbType.Decimal, 10);
p_errn.Direction = ParameterDirection.Output;
OracleParameter p_errm = cmd.Parameters.Add("pErrMsg", OracleDbType.Varchar2, 1000);
p_errm.Direction = ParameterDirection.Output;
OracleParameter pStatus = cmd.Parameters.Add("pStatus", OracleDbType.Decimal, 10);
pStatus.Direction = ParameterDirection.Output;
OracleParameter pID = cmd.Parameters.Add("pID", OracleDbType.Varchar2, 1000);
pID.Direction = ParameterDirection.Output;
我成功執行了程序,但 output 參數值混淆了。 應該在 pId 中的值在 pStatus 中,應該在 pStatus 中的值在 pErrMsg 中等等。
我還嘗試通過從參數集合中獲取值:
cmd.Parameters["pErrMsg"].Value.ToString()
但情況是一樣的。
我檢查了存儲過程,一切似乎都很好。 所有 output 參數設置正確。
任何人都有類似的問題或暗示是什么導致了這種行為?
所有參數必須按照在 ORACLE 上的存儲過程中定義的順序添加。
輸入參數之一是亂序添加的,這導致了混亂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.