当前位置: 技术问答>java相关
JSP分页的有关问题。
来源: 互联网 发布时间:2015-06-14
本文导语: 请问当我执行完一SQL语句后,返回ResultSet,那么,这个ResultSet有没有提供获得有多少条记录的方法,真的要自己去数吗?还有别的方法吗? | int PageSize=15; //设置每张网页显示两条记录 int S...
请问当我执行完一SQL语句后,返回ResultSet,那么,这个ResultSet有没有提供获得有多少条记录的方法,真的要自己去数吗?还有别的方法吗?
|
int PageSize=15; //设置每张网页显示两条记录
int ShowPage=1; //设置欲显示的页数
int RowCount=0; //记录数目
int PageCount=0; //分页后的总页数
strSQL="select * from aaa";
Rs=Stmt.executeQuery(strSQL);
if(Rs.last()){
RowCount=Rs.getRow();
PageCount=((RowCount%PageSize)==0?(PageCount/PageSize):(RowCount/PageSize)+1);
String PageNo=request.getParameter("pageno");
if(PageNo!=null){
rc=Integer.parseInt(PageNo);
if(rc>0)ShowPage=rc;
else {
if(rc
第页
=PageCount)out.println("下一页");
else out.println("下一页");%>
int ShowPage=1; //设置欲显示的页数
int RowCount=0; //记录数目
int PageCount=0; //分页后的总页数
strSQL="select * from aaa";
Rs=Stmt.executeQuery(strSQL);
if(Rs.last()){
RowCount=Rs.getRow();
PageCount=((RowCount%PageSize)==0?(PageCount/PageSize):(RowCount/PageSize)+1);
String PageNo=request.getParameter("pageno");
if(PageNo!=null){
rc=Integer.parseInt(PageNo);
if(rc>0)ShowPage=rc;
else {
if(rc
第页
=PageCount)out.println("下一页");
else out.println("下一页");%>
|
java.sql.ResultSet rs= Stmt.executeQuery(sql);
sun.jdbc.rowset.CachedRowSet crs=new CachedRowSet();
crs.populate(rs);
将ResultSet转换成CachedRowSet类型就可以使用size()方法了
sun.jdbc.rowset.CachedRowSet crs=new CachedRowSet();
crs.populate(rs);
将ResultSet转换成CachedRowSet类型就可以使用size()方法了
|
刚才到:
http://java.sun.com/j2se/1.4/docs/api/java/sql/ResultSet.html
里也没有找到直接满足条件的方法或属性
不过应该可以先用last(),再用getRow()得到的值就应该是总数了。
不过如果是这样的话,它的实际过程是先筛选出所有满足条件的内容,会耗用很多的资源(尤其是内存)。
如果你的数据库是SQL,JK建议你先用zijianyi(紫剑伊) 兄的方式得到总笔数,再把你要显示出的资料select出来:
例如:每页20笔,你要显示第三页,用:select top 60 * from tableName where ………
http://java.sun.com/j2se/1.4/docs/api/java/sql/ResultSet.html
里也没有找到直接满足条件的方法或属性
不过应该可以先用last(),再用getRow()得到的值就应该是总数了。
不过如果是这样的话,它的实际过程是先筛选出所有满足条件的内容,会耗用很多的资源(尤其是内存)。
如果你的数据库是SQL,JK建议你先用zijianyi(紫剑伊) 兄的方式得到总笔数,再把你要显示出的资料select出来:
例如:每页20笔,你要显示第三页,用:select top 60 * from tableName where ………
|
xuehong_BP(恶泓) :
要先用
Rst=Stmt.executeQuery("select count(*) from table");
Rst.next();
int num=Rst.getInt(1);
得到个数
然后再逐个显示
Rst=Stmt.executeQuery("select * from table");
while(Rst.next())
{
}
要先用
Rst=Stmt.executeQuery("select count(*) from table");
Rst.next();
int num=Rst.getInt(1);
得到个数
然后再逐个显示
Rst=Stmt.executeQuery("select * from table");
while(Rst.next())
{
}