C#接收存储过程输出参数

        /// <summary>
        /// 获取用户列表
        /// </summary>
        /// <returns></returns>
        public string GetUsersList(int pageNo, int pageSize, string key)
        {
            #region 参数数组
            //输出参数
            SqlParameter spOutput = new SqlParameter("@pageCount", SqlDbType.Int);
            spOutput.Direction = ParameterDirection.Output;
            SqlParameter[] commandParameters = new SqlParameter[] {
                new SqlParameter("@key",key),// 查找条件
                new SqlParameter("@pageNo",pageNo),// 当前页码
                new SqlParameter("@pageSize",pageSize),// 每页记录数
                spOutput, // 总页数
            };
            #endregion
            List<EntityBase> list = new List<EntityBase>();
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand("Proc_Paging", conn);
                cmd.Parameters.AddRange(commandParameters);
                cmd.CommandType = CommandType.StoredProcedure;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        ModelUsers model = new ModelUsers();
                        model.id = Convert.ToInt32(dr["id"]);
                        model.username = Convert.ToString(dr["username"]);
                        model.password = Convert.ToString(dr["password"]);
                        list.Add(model);
                    }
                }
                // 输出参数一定要放在最后执行,否则获取值失败
                //object obj = spOutput.Value;
            }
            // 生成json数据
            return JsonConvert.SerializeObject(new EntityDataCreate(list, Convert.ToInt32(spOutput.Value)));
        }

public static decimal Cart_UserAmount(int UID)
    {
        decimal iRet;
        SqlConnection conn = new SqlConnection(Conn_Str);
        SqlCommand cmd = new SqlCommand("Cart_UserAmount", conn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@UID", UID);
        cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.Output;
        try
        {
            conn.Open();
            cmd.ExecuteNonQuery();
            iRet = (decimal)cmd.Parameters["@Amount"].Value;
        }
        catch (SqlException ex)
        {
            throw ex;
        }
        finally
        {
            conn.Close();
        }
        return iRet;
    }

猜你喜欢

转载自blog.csdn.net/MyNameIsXiaoLai/article/details/82963625