Beispiel #1
0
        /// <summary>
        /// 分页方法
        /// </summary>
        /// <param name="allcount">总数</param>
        /// <param name="tablename">表名,支持多表联查</param>
        /// <param name="fields">字段名</param>
        /// <param name="where">where条件 不需要加where</param>
        /// <param name="orderby">*排序条件不能为空,不需要加order by</param>
        /// <param name="getallcount">获取记录总数,true是,false否</param>
        /// <param name="pageindex">当前页,从1开始,默认1</param>
        /// <param name="pagesize">每页显示多少条数据,默认15</param>
        /// <param name="commandTimeout">执行命令超时时间,默认30秒</param>
        /// <returns></returns>
        public static List <T> GetPageList(out int allcount, string tablename, string fields = "*", string where = "", string orderby = "",
                                           bool getallcount = true, int pageindex = 1, int pagesize = 15, string connect = "", int commandTimeout = 30)
        {
            if (pageindex <= 0)
            {
                pageindex = 1;
            }
            if (pagesize <= 0)
            {
                pagesize = 15;
            }

            var parameters = new DynamicParameters();

            parameters.Add("@Table", tablename);
            parameters.Add("@Fields", fields);
            parameters.Add("@Where", where);
            parameters.Add("@OrderBy", orderby);
            parameters.Add("@CurrentPage", pageindex);
            parameters.Add("@PageSize", pagesize);
            parameters.Add("@GetAllCount", getallcount);
            parameters.Add("@AllCount", 0, DbType.Int32, ParameterDirection.Output);

            MsSqlMapperHepler.commandTimeout = commandTimeout;
            var ret = MsSqlMapperHepler.StoredProcWithParams <T>("Proc_DataPagination", parameters, string.IsNullOrWhiteSpace(connect) ? DBKeys.PRX : connect);

            allcount = parameters.Get <int>("@AllCount");
            return(ret);
        }