日期:2014-05-17  浏览次数:20410 次

求一个高效的分页类
我只需要调用这个类就行了
如:GetAll(int startRecord, int pageSize, string str)
第几页,每页大小,sql语句(如:select * from table)

不用public int Fill(DataSet dataSet, int startRecord, int maxRecords, string srcTable);方法,要高效的只读指定记录

------解决方案--------------------

        #region DataTable 分页
        /// <summary>
        /// 通用分页查询 DataTable
        /// </summary>
        /// <param name="pageSize">分页大小</param>
        /// <param name="pageIndex">当前页码</param>
        /// <param name="TableName">查询表名</param>
        /// <param name="ColumnName">查询字段,逗号分割</param>
        /// <param name="WhereStr">查询条件,不带where</param>
        /// <param name="SelectOrder">排序字段</param>
        /// <param name="OrderType">排序类型,0降序 1升序</param>
        /// <returns></returns>
        public static DataTable getDataTable(int pageSize, int pageIndex, string TableName, string ColumnName, string WhereStr, string SelectOrder, int OrderType)
        {
            string @TemStr;
            string @TemOrder;
            int @Pages = pageSize * (pageIndex - 1);

            if (OrderType != 0)//判断排序
            {
                @TemStr = ">(SELECT MAX";