本人的最佳解决方案如下:
DBMS:MS SQLServer 2000 中文版
其中strSQLWhere,查询语句的Where子句
1.为了能够将查询语句也传递到下一页,所以必须将“上页”、“下页”等等放在"Form"里,同时将查询用到的SQL语句作为一个hidden进行传递如下:
<form name=frmtopage method=post action=PDMShow.jsp>
<input type=hidden name=paramSQLWhere value=“<%=strSQLWhere%>">
<a href=javascript:viewPage(1)>首页</a>
....
转到第 <input type=text size=3 name=pagetoshow class=buttontext> 页
</form>
其中viewPage的定义如下:
<script language="Javascript">
<!--
function viewPage(pageID){
document.frmtopage.pagetoshow.value=pageID+""
document.frmtopage.submit()
}
!-->
</script>
2、在计算页数时必须得到查询语句的记录总数,使用count(*) 方法
totalSQL="select count(*) from (" + strSQL + ") as temp"
执行totalSQL 则得到总记录数。
注意:避免在strSQL中包含“order by”语句,如果有则除去,否则会出错。去掉“order by”子句对于获取总记录数没有任何影响。
3、直接返回要显示页的记录,不必返回所有记录 SQL 语句的写法如下:
pageSQL="select IDENTITY(int,1,1) as Nbr,* into #tmp From (" +strSQL + ") as temp order by Nbr select * from #tmp where nbr between 41 and 50 drop table #tmp "
上述返回了第41到50条记录,根据具体页数进行修改。
综上,我认为这个是JSP分页的最佳方案。
DBMS:MS SQLServer 2000 中文版
其中strSQLWhere,查询语句的Where子句
1.为了能够将查询语句也传递到下一页,所以必须将“上页”、“下页”等等放在"Form"里,同时将查询用到的SQL语句作为一个hidden进行传递如下:
<form name=frmtopage method=post action=PDMShow.jsp>
<input type=hidden name=paramSQLWhere value=“<%=strSQLWhere%>">
<a href=javascript:viewPage(1)>首页</a>
....
转到第 <input type=text size=3 name=pagetoshow class=buttontext> 页
</form>
其中viewPage的定义如下:
<script language="Javascript">
<!--
function viewPage(pageID){
document.frmtopage.pagetoshow.value=pageID+""
document.frmtopage.submit()
}
!-->
</script>
2、在计算页数时必须得到查询语句的记录总数,使用count(*) 方法
totalSQL="select count(*) from (" + strSQL + ") as temp"
执行totalSQL 则得到总记录数。
注意:避免在strSQL中包含“order by”语句,如果有则除去,否则会出错。去掉“order by”子句对于获取总记录数没有任何影响。
3、直接返回要显示页的记录,不必返回所有记录 SQL 语句的写法如下:
pageSQL="select IDENTITY(int,1,1) as Nbr,* into #tmp From (" +strSQL + ") as temp order by Nbr select * from #tmp where nbr between 41 and 50 drop table #tmp "
上述返回了第41到50条记录,根据具体页数进行修改。
综上,我认为这个是JSP分页的最佳方案。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货