存储过程:
CREATE PROCEDURE paging
-- Add the parameters for the stored procedure here
--传入参数
@SqlStr nvarchar(4000), --查询字符串
@CurrentPage int, --第N页(当前页数)
@PageSize int --每页行数
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
--定义变量
DECLARE @CursorId int --CursorId是游标的id
DECLARE @Rowcount int --总记录(行)数
DECLARE @pageCount int --总页数
-- Insert statements for procedure here
EXEC sp_cursoropen @CursorId output,@SqlStr,
@Scrollopt=1,@Ccopt=1,@Rowcount=@Rowcount OUTPUT
SET @pageCount=CEILING(1.0*@Rowcount/@PageSize)--设置总页数
SELECT @pageCount
AS 总页数,@Rowcount AS 总行数,@CurrentPage AS 当前页 --提示页数
IF(@CurrentPage>@pageCount)--如果传入的当前页码大入总页码数则把当前页数设为最后一页
BEGIN
SET @CurrentPage = @pageCount--设置当前页码数
END
IF(@CurrentPage<=0)--如果传入的当前页码大入总页码数则把当前页数设为第一页
BEGIN
SET @CurrentPage = 1--设置当前页码数
END
SET @CurrentPage=(@CurrentPage-1)*@PageSize+1 --设置当前页码数
EXEC sp_cursorfetch @CursorId,16,@CurrentPage,@PageSize
EXEC sp_cursorclose @CursorId --关闭游标
SET NOCOUNT OFF
END
java 调用 sqlserver分页
最新推荐文章于 2025-08-06 16:23:50 发布