我爱Aspx >> C#.Net >> 用SQL 2005的ROW_NUMBER() 实现分页功能_数据库技巧
DECLARE @pagenum AS INT, @pagesize AS INT
SET @pagenum = 2
SET @pagesize = 3
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY newsid DESC) AS rownum,
newsid, topic, ntime, hits
FROM news) AS D
WHERE rownum BETWEEN (@pagenum-1)*@pagesize+1 AND @pagenum*@pagesize
ORDER BY newsid DESC
aspx里面只需给SQL传入pageid和条数即可。
CSDN上还有个存储过程实现分页的代码:
ALTER PROCEDURE news_Showlist
(
@tblName varchar(255), -- 表名
@strGetFields varchar(1000), -- 需要返回的列
@fldName varchar(255), -- 排序的字段名
@PageSize int , -- 页尺寸
@PageIndex int , -- 页码
@strWhere varchar(1500), -- 查询条件(注意: 不要加where)
@Sort varchar(255) --排序的方法
)
AS
declare @strSQL varchar(5000) -- 主语句
declare @strTmp varchar(110) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @Sort = 'desc'
begin
set @strTmp = '<(select min'
set @strOrder = ' order by ' + @fldName +' desc'
--如果@OrderType不是,就执行降序,这句很重要!
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by ' + @fldName +' asc'
end
if @PageIndex = 1
begin
if @strWhere != ''
begin
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder
end
else
begin
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName + ' '+ @strOrder
Ҷƪл˵?
提数据高分页效率_数据库技巧[04-28]
分页查询的一个帮助类_数据库技巧[04-28]
一条语句实现分页_数据库技巧[04-28]
数据库的相关操作:如连接、查询..[04-28]
利用JQuery方便实现基于Ajax的数..[04-28]
在Oracle中实现搜索分页查询_数据..[04-28]
数据库的分页问题_数据库技巧[04-28]
利用自定义分页技术提高数据库性..[04-28]
连接mysql的javabean实例+简单分..[04-28]
SQLSERVER,ORACLE,MYSQL高效分页..[04-28]
支持多风格变换的ASP分页类_ASP技..[04-28]
C# GridView 排序及分页_C#应用[04-28]
提数据高分页效率_数据库技巧[04-28]
最简单的asp.net分页 _ASP.NET技..[04-28]
手写分页函数C#_C#应用[04-28]
分页查询的一个帮助类_数据库技巧[04-28]
DATAGRID分页,增加首页、最后一..[04-28]
asp中可以保存参数值的分页代码_..[04-28]
一条语句实现分页_数据库技巧[04-28]
数据库的相关操作:如连接、查询..[04-28]