原理:

PageSize, PageIndex;

升序   order  by  a asc

a的 值 大于, 上一页数据 最大的  a值。

降序  order by  a desc

a的 值 小于, 上一页数据 最小的  a值。

代码实例

USE [SZSQ]
GO
/****** Object: StoredProcedure [dbo].[dnt_gettopiclistbytypedatecph] Script Date: 09/12/2014 15:18:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter PROCEDURE [dbo].[dnt_PageSplb]
@pagesize int,
@pageindex int,
@startnum int,
@condition varchar(1000),
@orderby varchar(100),
@ascdesc int
AS

DECLARE @strsql varchar(5000)
DECLARE @sorttype varchar(5)

IF @ascdesc=0
SET @sorttype='ASC'
ELSE
SET @sorttype='DESC'

IF @pageindex = 1
BEGIN
SET @strsql = 'SELECT TOP ' + STR(@pagesize) +' [sid],[sname],[sauthor],[sdate],[simg],[slink],[spjs],[slbdl],[slbps],[slbgjw],[slbql],[slbjs],[sbfcs],[splcs],[szdcs],[scdcs],[ssfsx]
from [dnt_splb] where [ssfsx]=1'+@condition+' ORDER BY '+@orderby+' '+@sorttype
END
ELSE
IF @sorttype='DESC'
BEGIN
SET @strSQL = 'SELECT TOP ' + STR(@pagesize) +' [sid],[sname],[sauthor],[sdate],[simg],[slink],[spjs],[slbdl],[slbps],[slbgjw],[slbql],[slbjs],[sbfcs],[splcs],[szdcs],[scdcs],[ssfsx]
FROM [dnt_splb]
WHERE dnt_splb.['+@orderby+'] < (SELECT min(tblTmp.['+@orderby+']) FROM (SELECT TOP ' + STR((@pageindex-1)*@pagesize-@startnum) + ' [dnt_splb].['+@orderby+'] FROM [dnt_splb] WHERE [ssfsx]=1'+@condition+' ORDER BY [dnt_splb].'+@orderby+' '+@sorttype+')AS tblTmp )
AND [ssfsx]=1
ORDER BY [dnt_splb].'+@orderby+' '+@sorttype
END
ELSE
BEGIN
SET @strSQL = 'SELECT TOP ' + STR(@pagesize) +' [sid],[sname],[sauthor],[sdate],[simg],[slink],[spjs],[slbdl],[slbps],[slbgjw],[slbql],[slbjs],[sbfcs],[splcs],[szdcs],[scdcs],[ssfsx]
FROM [dnt_splb]
WHERE dnt_splb.['+@orderby+'] > (SELECT min(tblTmp.['+@orderby+']) FROM (SELECT TOP ' + STR((@pageindex-1)*@pagesize-@startnum) + ' [dnt_splb].['+@orderby+'] FROM [dnt_splb] WHERE [ssfsx]=1'+@condition+' ORDER BY [dnt_splb].'+@orderby+' '+@sorttype+')AS tblTmp )
AND [ssfsx]=1
ORDER BY [dnt_splb].'+@orderby+' '+@sorttype
END
print @strSQL
EXEC(@strsql)

最新文章

  1. RabbitMQ常用命令行
  2. XMPP学习——1、介绍
  3. Spring解析
  4. “数学口袋精灵”第二个Sprint计划(第十天)总结
  5. P85练习3
  6. Ubuntu 安装
  7. [AngularJS] Best Practise - Module
  8. MySQL timestamp用法
  9. [Javascript] Writing conventional commits with commitizen
  10. Canvas的quadraticCurveTo 和 bezierCurveTo 画曲线 方法细说
  11. Make Things Move -- Javascript html5版(三)三角函数形式的动画
  12. jQuery获取、设置title的值
  13. Android自定义安全键盘
  14. React 与 React-Native 使用同一个 meteor 后台
  15. CentOS7上RabbitMQ安装
  16. Es6的用法
  17. 锋利的jQuery初学(5)
  18. Cent OS安装使用ffmpeg(完整版)
  19. Linux下设置时间
  20. Scrapy实战篇(二)之爬取链家网成交房源数据(下)

热门文章

  1. 图像处理之优化---任意半径局部直方图类算法在PC中快速实现的框架
  2. Android开发人员必须掌握的10 个开发工具+应该深入学习的10个开源应用项目
  3. centos7 禁用每次sudo 需要输入密码
  4. npm安装express 公司上网设置代理
  5. iOS开发之CocoaAsyncSocket学习
  6. resolution will not be reattempted until the update interval of vas has elap
  7. HTTP 筛选器 DLL C:\Windows\Microsoft.Net\Framework\v4.0.30319\aspnet_filter.dll 加载失败。数据是错误。
  8. git 学习(一)初始化和提交
  9. c#与lua交互里,错误处理
  10. MongoDB-2:MongoDB添加、删除、修改