Ejemplo n.º 1
0
        /// <summary>
        /// 获取分页数据集合
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public static PagedList <T> GetPagerList <T>(this SqlHelper helper, string procName, PagerParameter parameter, params SqlParameter[] param)
        {
            if (parameter == null)
            {
                throw new ArgumentNullException("分页参数不能为空");
            }

            List <SqlParameter> sqlParam = new List <SqlParameter>
            {
                new SqlParameter("@PageSize", parameter.PageSize),
                new SqlParameter("@PageIndex", parameter.PageIndex),
            };

            sqlParam = sqlParam.Concat(param).ToList();

            sqlParam.Add(ParameterHelper.NewOutParameter("PageCount", SqlDbType.Int));
            sqlParam.Add(ParameterHelper.NewOutParameter("RecordCount", SqlDbType.Int));
            sqlParam.BuildReturnParameter();

            IList <T> result = null;
            //去数据库
            DataSet dataSet = helper.ExecuteFillDataSet(CommandType.StoredProcedure, procName, sqlParam.ToArray <SqlParameter>());

            if (ValidationHelper.IsNotEmptyDataSet(dataSet))
            {
                result = DataConvertHelper.ToList <T>(dataSet.Tables[0], "PageView_RowNo");
            }

            int pageCount   = Convert.ToInt32(sqlParam[sqlParam.Count - 3].Value);
            int recordCount = Convert.ToInt32(sqlParam[sqlParam.Count - 2].Value);

            return(new PagedList <T>(parameter.PageIndex, parameter.PageSize, pageCount, recordCount, result));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 构建错误输出参数
 /// </summary>
 /// <param name="param"></param>
 public static void BuildErrorParameter(this IList <SqlParameter> param)
 {
     param.Add(ParameterHelper.NewOutParameter("ErrorDescribe", SqlDbType.NVarChar));
 }