分页类

PageSize类
public class PageSize
{
    /// <summary>
    /// ACCESS分页程序
    /// </summary>
    /// <param name="onpage">当前页数</param>
    /// <param name="page">每页多少条记录</param>
    /// <param name="datename">数据库名</param>
    /// <param name="wheresql">需要过滤的条件</param>
    /// <param name="orderby">需要按什么来进行按序</param>
    /// <param name="datebaseID">数据库中的ID字段名</param>
    /// <param name="LinkPageSize">输入输出函数</param>
    /// <returns>返回SQL查询语句</returns>
    public string PageSizeMain(int onpage, int page, string datename, string wheresql, string orderby, string datebaseID, out int TotalSize)
    {
        string TargetSql;//返回SQL字符串
        int recordtotal;//总的记录数
        bool isrepage;
        int totalpage;//总的页数
        if (wheresql.Trim() == "")//计算总的记录数
        {
            TargetSql = "select count(*) as countcord from " + datename;
        }
        else
        {
            TargetSql = "select count(*) as countcord from " + datename + " where " + wheresql;
        }

        Conn CountPage = new Conn();
        OleDbDataReader rec = CountPage.ConnEnt(TargetSql);
        rec.Read();
        recordtotal = Convert.ToInt32(rec[0]);
        rec.Close();
        CountPage.CloseAll();

        isrepage = true;
        if (recordtotal % page == 0)//**计算总的页数
        {
            totalpage = recordtotal / page;
        }
        else
        {
            totalpage = recordtotal / page + 1;
            isrepage = false;
        }
        TotalSize = totalpage;
        int endpage;
        if (onpage == totalpage && totalpage > 1 && isrepage == false)//判断是不是最后一页
        {
            page = recordtotal % ((onpage - 1) * page);
            endpage = recordtotal;
        }
        else
        {
            endpage = page * onpage;
        }
        if (wheresql.Trim() == "")
        {
            if (orderby.Trim() == "")
            {
                TargetSql = "select * from " + datename + " where " + datebaseID + " in (select top " + Convert.ToString(page) + " " + datebaseID + " from " + datename + " where " + datebaseID + " in (select top " + Convert.ToString(endpage) + " " + datebaseID + " from " + datename + " order by " + datebaseID + " desc) order by " + datebaseID + ") order by " + datebaseID + " desc";
            }
            else
            {
                TargetSql = "select * from " + datename + " where " + datebaseID + " in (select top " + Convert.ToString(page) + " " + datebaseID + " from " + datename + " where " + datebaseID + " in (select top " + Convert.ToString(endpage) + " " + datebaseID + " from " + datename + " order by " + datebaseID + " desc) order by " + datebaseID + ") order by " + orderby + "," + datebaseID + " desc";
            }
        }
        else
        {
            if (orderby.Trim() == "")
            {
                TargetSql = "select * from " + datename + " where " + datebaseID + " in (select top " + Convert.ToString(page) + " " + datebaseID + " from " + datename + " where " + datebaseID + " in (select top " + Convert.ToString(endpage) + " " + datebaseID + " from " + datename + " where " + wheresql + " order by " + datebaseID + " desc) order by " + datebaseID + ") order by " + datebaseID + " desc";
            }
            else
            {
                TargetSql = "select * from " + datename + " where " + datebaseID + " in (select top " + Convert.ToString(page) + " " + datebaseID + " from " + datename + " where " + datebaseID + " in (select top " + Convert.ToString(endpage) + " " + datebaseID + " from " + datename + " where " + wheresql + " order by " + datebaseID + " desc) order by " + datebaseID + ") order by " + orderby + "," + datebaseID + " desc";
            }
        }
        return (TargetSql);
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值