c# 通用分页查询类

        #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";
                @TemOrder = " ORDER BY " + SelectOrder + " ASC";
            }
            else
            {
                @TemStr = "<(SELECT MIN";
                @TemOrder = " ORDER BY " + SelectOrder + " DESC";
            }
            StringBuilder SqlStr = new StringBuilder();
            if (pageIndex == 1)         //当页码为第一页时
            {
                if (WhereStr == "")     //判断是否有条件查询
                {
                    SqlStr.Append("SELECT TOP " + pageSize + " " + ColumnName + " FROM " + TableName + " " + @TemOrder);
                }
                else
                {
                    SqlStr.Append("SELECT TOP " + pageSize + " " + ColumnName + " FROM " + TableName);
                    SqlStr.Append(" WHERE " + WhereStr + " " + @TemOrder);
                }
            }
            else
            {
                if (WhereStr == "")     //判断是否有条件查询
                {
                    SqlStr.Append("SELECT TOP " + pageSize + " " + ColumnName + " FROM " + TableName + " WHERE ");
                    SqlStr.Append(SelectOrder + " " + @TemStr + "(" + SelectOrder + ") FROM (SELECT TOP " + @Pages + " ");
                    SqlStr.Append(SelectOrder + " FROM " + TableName + " " + @TemOrder + ")as t)" + @TemOrder);
                }
                else
                {
                    SqlStr.Append("SELECT TOP " + pageSize + " " + ColumnName + " FROM " + TableName + " WHERE " + SelectOrder + " ");
                    SqlStr.Append(@TemStr + "(" + SelectOrder + ") FROM (SELECT TOP " + @Pages + " " + SelectOrder + " FROM ");
                    SqlStr.Append(TableName + " WHERE " + WhereStr + " " + @TemOrder + ")as t) and (" + WhereStr + ") " + @TemOrder);
                }
            }

            SqlParameter[] parameters = {
			};
            return SqlHelper30.Fill(CommandType.Text, SqlStr.ToString(),parameters).Tables[0];
        }
        #endregion

        /// <summary>
        /// 获取查询记录总数
        /// </summary>
        /// <param name="TableName">表名</param>
        /// <param name="WhereStr">查询条件,可为空</param>
        /// <returns></returns>
        public static int getCount(string TableName, string WhereStr)
        {
            StringBuilder SqlStr = new StringBuilder();
            SqlStr.Append("");
            if (WhereStr != "")
            {
                SqlStr.Append("SELECT count(*) FROM ");
                SqlStr.Append(TableName + " WHERE " + WhereStr);
            }
            else
            {
                SqlStr.Append("SELECT count(*) FROM " + TableName);
            }
            Object[] objectValues = new Object[] { };
            return int.Parse(SqlHelper30.ExecuteScalar(SqlStr.ToString(), objectValues).ToString());
        }


调用方法:

        protected void AspNetPager1_PageChanged(object src, PageChangedEventArgs e)
        {
            AspNetPager1.CurrentPageIndex = e.NewPageIndex;
            BusinessListBind();
        }
        protected void BusinessListBind()
        {
            string ColumnN = " id,rq,sj,yhxm,yhdz,yhdh,lr,slr,lb,xq,zt,pdr,pdrq,pdsj,jdr,hdrq,hdsj,hdjlr,jg,tdyy,ts,kfbfzrsj,jdbfzrsj,slbm,jdry,bztd,jdtd,gzfy,rgf,gzry,kfbmbzwcsj,jdbmbzwcsj,hdwcsj,jdbm,bbh,wcsj,jdwcsj,jdsj,bztdyy,jdzt,yqsj,tdzt,jdrid,dybs,hfbs,cdyy,lrr,yhyj,xdsj,xdry,hfsj,hfnr,hfr,yhpj,yhyj1,yhpj1,xdsj1,xdry1,sdpdsj,ckpdsj,clhfsj,wcqrsj,pdlx,userid,flagck,jdrdh,firstcdsj,secondcdsj,tplj,thircdsj,sfje,azlx,sfyl,lgylsfrh,snsfazhndg,bjlx,bjk,bxh,bjbaztj,ktsj,ktr,ktbz,lrbs ";

            RepList.DataSource = Hjzx_BLL.getDataTable(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, "hjzx1", ColumnN, getStrSql(), "id", 0);
            RepList.DataBind();

            AspNetPager1.RecordCount = Hjzx_BLL.getCount("hjzx1",getStrSql());
            AspNetPager1.CustomInfoText = "派单总数:<font color=\"blue\"><b>" + AspNetPager1.RecordCount.ToString() + "</b></font>";
        }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tiz198183

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值