为了账号安全,请及时绑定邮箱和手机立即绑定

sp 给出输出但 SqlDataReader 不

sp 给出输出但 SqlDataReader 不

C#
拉莫斯之舞 2021-09-19 16:07:55
我在 C# 项目中使用 SP 来检索使用 SqlDataReader 的输出。下面是代码。 public List<LMTUsage> GetCompanyID(string userID, int roleId, String Organisation, String BusinessArea)    {        List<LMTUsage> objLMT = new List<LMTUsage>();        LMTUsage _oELMTUsage;        SqlConnection oCon = new SqlConnection(ConfigurationManager.ConnectionStrings["LMTConnectionString"].ConnectionString);        oCon.Open();        try        {            using (SqlCommand _oCmd = new SqlCommand())            {                _oCmd.Connection = oCon;                _oCmd.CommandType = CommandType.StoredProcedure;                _oCmd.CommandText = "[SC_GetDropdownValues]";                _oCmd.Parameters.Add(new SqlParameter("@UserId", userID));                _oCmd.Parameters.Add(new SqlParameter("@RoleId", roleId));                if (Organisation == "")                    _oCmd.Parameters.Add(new SqlParameter("@Organisation", DBNull.Value));                else                    _oCmd.Parameters.Add(new SqlParameter("@Organisation", Organisation));                if (BusinessArea == "")                    _oCmd.Parameters.Add(new SqlParameter("@BusinessArea", DBNull.Value));                else                    _oCmd.Parameters.Add(new SqlParameter("@BusinessArea", BusinessArea));                _oCmd.Parameters.Add(new SqlParameter("@Type", 3));它是带有 select 语句的非常简单的 SP。从 SQL 2014 执行时,SP 返回输出,但在上述方法中实现时,它不返回任何输出。以下是屏幕供参考。 
查看完整描述

2 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

请检查参数中的值。并使用带有填充方法的数据集从 sp 检索数据而不是使用 ExecuteReader()。


查看完整回答
反对 回复 2021-09-19
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

除非您的存储过程专门命名为 [SC_GetDropdownValues](包括方括号),否则您不需要在 SqlCommand 的CommandText. 尝试:

_oCmd.CommandText = "SC_GetDropdownValues";


查看完整回答
反对 回复 2021-09-19
  • 2 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信