参考:http://blog.csdn.net/wellknow/archive/2004/07/29/55167.aspx 用的是NOT IN 的方法 /**/ /************************** * 创建人 :Even * 创建时间 :2005-12-13 * 最近修改时间 : * 功能描述 : * * 用存储过程实现数据分页 * * @Table : 表名, 可以是一张表,也可以是一个SQL语句 * @PageSize : 页码大小 * @CurrentPageIndex : 当前页面, CurrentPageIndex=1 表示第一页 * @KeyField : 关键字段域 * @Sort : 排序字段 * ************************/ -------------------------------------------------- -- DataPager -------------------------------------------------- ALTER PROCEDURE dbo.DataPager( @Table nvarchar( 2048 ), @PageSize int , @CurrentPageIndex int , @KeyField VARCHAR( 255 ), @Sort VARCHAR( 255 ))ASdeclare @SqlStr as nvarchar( 4000 ) set @SqlStr = ' select top ' + cast(@CurrentPageIndex * @PageSize as varchar( 20 )) + ' * from ' + @Table + ' t ' set @SqlStr = @SqlStr + ' where t. ' + @KeyField + ' NOT IN ' set @SqlStr = @SqlStr + ' (select TOP ' + cast((@CurrentPageIndex - 1 ) * @PageSize as varchar( 20 )) + ' ' + @KeyField + ' from ' set @SqlStr = @SqlStr + ' ' + @Table + ' ' + @Sort + ' ) ' + @Sort -- print @SqlStrexecute sp_executeSql @SqlStr 转载于:https://www.cnblogs.com/SeeMeFly/archive/2005/12/13/296131.html