jsp简单分页出现错误,下一页时编号(ID)还是从1开始,怎么解决?(附源码)

String sql="select * from ksyy.ks_lhk order by sqrq desc";
rs=stmt.executeQuery(sql);
ResultSetMetaData mtdt=rs.getMetaData(); //获取数据库表信息
int nmb=mtdt.getColumnCount(); //nmb为本SQL语句输出表字段总数

%>

<table id="PrintA" border="0" bgcolor="66CCFF" cellspacing="1" cellpadding="1" width="100%" >
<tr bgcolor="white" id="footpanel" style="height:25px;font-weight:bold;background:url(images/bbbg.gif)">
<td align="center" bgcolor="#CCCCCC" style="font-weight:bold;">ID</td>
<%
for(int i=1;i<=nmb;i++){
%>
<td align="center"><%=mtdt.getColumnName(i)%></td> <!--**在这循环列出所有字段名称**-->
<% } %>
<td align="center">编辑</td>
</tr>
<%
int j=0; //编号ID 【***错误出现变量***】
int intPageSize;
int intRowCount;
int intPageCount;
int intPage;
String strPage;
int k;
intPageSize = 30;
strPage = request.getParameter("page");
if(strPage==null){
intPage = 1;
}
else{
intPage = Integer.parseInt(strPage);
if(intPage<1){
intPage = 1;
}
}
rs.last();
intRowCount = rs.getRow();
intPageCount =(intRowCount+intPageSize-1) / intPageSize;
if(intPage>intPageCount) intPage = intPageCount;
if(intPageCount>0){
rs.absolute((intPage-1) * intPageSize+1);
k = 0;
while(k< intPageSize && !rs.isAfterLast()) {
j++;//编号ID 【***错误出现变量***】

%>
<tr>
<td align="center"><%=j %></td>
<%
for(int i=1;i<=nmb;i++){
%>
<td align="center" ><%=rs.getString(i)%></td> <!--**在这循环列出所有字段内容**-->
<%
} //for循环结束
%>
<td width="40">编辑</td>
</tr>

<%
rs.next();
k++;
}
}
rs.close();
stmt.close();
conn.close();
%>

</table>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"">
<tr>
<td height="28" align="center">当前显示第<%=intPage%>页 共 <%=intPageCount%> 页 导航:<a href="lhb.jsp?page=1">首页</a>
<%if(intPage>1){%>
<a href="lhb.jsp?page=<%=intPage-1%>">上一页</a>
<%}else{%>
上一页
<%
}%>

<%if(intPage<intPageCount){%>
<a href="lhb.jsp?page=<%=intPage+1%>">下一页</a>
<%}else{%>
下一页
<%
}%>
<a href="lhb.jsp?page=<%=intPageCount%>">尾页</a> </td>
</tr>
</table>

第1个回答  推荐于2017-04-13
intPageCount =(intRowCount+intPageSize-1) / intPageSize;

改为下面的
intPageCount =intRowCount/intPageSize;

if(ntRowCount % intPageSize!=0) intPageCount++;追问

我说的问题是翻页是我自定义的变量【J】还是从1到30,第二页时应该是从31开始到60。

追答

rs.absolute((intPage-1) * intPageSize+1);
k = 0;
j=(intPage-1) * intPageSize+1; //添加上这语句
while(k< intPageSize && !rs.isAfterLast()) {

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网