在上一篇隨筆:SqlDataReader讀取分頁數據,pageCount你是腫麼了?
遇到了很讓人頭疼的問題:SqlDataReader執行帶輸出參數的存儲過程總是獲取不到輸出參數的正確值。這裡將解決辦法及分析過程列出,為遇到相同問題的小伙伴提供一種解決方案。
在SqlDataReader讀取分頁數據,pageCount你是腫麼了?的評論中有博友提出將
param[2].Direction = ParameterDirection.Output;
該句代碼放在執行查詢前,確實有這一部分原因。按照該博友提供的方式我嘗試了,但仍有問題:
param[2].Direction = ParameterDirection.Output; using (SqlDataReader reader = SQLHelper.ExecuteReader(sql, CommandType.StoredProcedure, param)) { while (reader.Read()) { list.Add(ConvertReaderToStudentModel(reader)); } } //為輸出參數賦值 pageCount = (int)param[2].Value;
報錯:
本欄目