--如果没有问题,再测试一下,把调用的表,改为查询用户表(不要查系统表,可能会是权限问题)
--如果还是有问题,则试试把存储过程修改为这样,看看第三个记录集是否可以得到结果:
CREATE procedure Page_proc
@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
as
set nocount on
declare @P1 int, --P1是游标的id
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as 总页数,@rowcount as 总行数,@currentpage as 当前页
set @currentpage=(@currentpage-1)*@pagesize+1
--exec sp_cursorfetch @P1,16,@currentpage,@pagesize
select 总页数=3,总行数=22,当前页=1
exec sp_cursorclose @P1
set nocount off
GO