【项目实战】---SQL真分页

前言:

对于sql的分页来说,有真分页和假分页只说,实现的方法有很多种,不同的实现效率不同。“真分页”是效率更高,面对庞大的数据量也能轻松应对,但是缺点便是每次都需要和后台交互。“假分页”不需要和后台交互,但是一旦面对大数据量时,加载将十分缓慢,影响用户的体验。这次小编通过简单的demo给出真分页的一种实现方法。

核心代码:

//查询数据--带条件查询
int start = (page - 1) * rows + 1;// page:第几页
int end = start + rows - 1;       //rows:每页的行数
string sql = @"select * from (select c.ID,row_number() over(order by c.ID) as num
            from dbo.Table c
            where 1=1";

            if (strID!="")
            {
                sql = sql + " and  ID like '%" + strID + "%'";
            }
            sql = sql + ") TT where TT.num between " + start + " and " + end;
            SqlParameter[] paras = new SqlParameter[] { 
                 new SqlParameter("@strID", strID),
                
            };
            dt = sqlHelper.ExecuteQuery(sql, paras, CommandType.Text);

总结:

这属于真分页的一种简单的实现,将模糊查询的参数(有必要的话加上),当前页数page,每页的行数rows传到后台,就可以实现分页查询,在这之前还有做一件事情,就是通过查询利用count求出数据的总条数,这样就能实现简单的分页。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值