【发布时间】:2014-01-14 21:22:55
【问题描述】:
我试图使用分页从 SQL SERVER 2008 获取数据。
我的程序是:
CREATE PROC Paginate
@PageSize int, @PageNumber int
AS
Declare @RowStart int
Declare @RowEnd int
if @PageNumber > 0
Begin
SET @PageNumber = @PageNumber -1
SET @RowStart = @PageSize * @PageNumber + 1;
SET @RowEnd = @RowStart + @PageSize - 1 ;
With claim_user_info_paginate AS
( SELECT userNbr, userName,
ROW_NUMBER() OVER (order by userNbr) as UserNumber
FROM claim_user_info )
select *
from claim_user_info_paginate
Where UserNumber >= @RowStart and UserNumber <= @RowEnd
END
我需要连续获取记录,但上面的过程只返回前 10 个。在这种情况下,我应该怎么做才能使用 java 在我的表中连续获取所有记录。
我的java代码:
String sql="exec Paginate 10,1";
resultSet = statement.executeQuery(sql);
我尝试循环查询,但我不断得到相同的结果。有人可以说我在哪里还需要更正。
【问题讨论】:
-
在循环中,你改变了sql字符串吗?所以从 String sql="exec Paginate 10,1"; 到 String sql="exec Paginate 10,2"; 或者至少使用计数器来增加页码?
标签: java mysql sql sql-server sql-server-2008