/// <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)); }
/// <summary> /// 构建错误输出参数 /// </summary> /// <param name="param"></param> public static void BuildErrorParameter(this IList <SqlParameter> param) { param.Add(ParameterHelper.NewOutParameter("ErrorDescribe", SqlDbType.NVarChar)); }