您的位置:程序门 -> java -> web 开发



jsp 分页问题,记录集不支持last()方法,在线急等!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


jsp 分页问题,记录集不支持last()方法,在线急等!
发表于:2007-09-16 15:20:02 楼主
jsp分页,环境:linux   +   sysbase   +   jsp
出错提示:
jz0bt:   the   absolute()   method   is   not   supported   for   resultsets   of   type   type_forward_only.
jz0bt:   the   last()   method   is   not   supported   for   resultsets   of   type   type_forward_only.

//这是最常用也是最简单的jsp分页代码:
int   intpagesize;   //一页显示的记录数  
int   introwcount;   //记录总数  
int   intpagecount;   //总页数  
int   intpage;   //待显示页码  
string   strpage;  

//设置一页显示的记录数  
intpagesize   =   25;  

//取得待显示页码  
strpage   =   request.getparameter( "page ");  
if(strpage==null){//表明在querystring中没有page这一个参数,此时显示第一页数据  
intpage   =   1;  
}else{//将字符串转换成整型  
intpage   =   java.lang.integer.parseint(strpage);  
if(intpage <   1){  
intpage   =   1;  
}  
}  

dbconn   dbconn   =   new   dbconn();
resultset   rs   =   null;
string   sql   =   "select   *   from   experts_explain ";
rs   =   dbconn.EXECutequery(sql);

//定位到第一条记录
rs.absolute(1);   //在这里出错,提示记录集不支持absolute()方法

//获取记录总数  
rs.last();   //在这里出错,提示记录集不支持last()方法
introwcount   =   rs.getrow();  

//记算总页数  
intpagecount   =   (introwcount+intpagesize-1)   /   intpagesize;
......
发表于:2007-09-16 17:18:361楼 得分:0
当执行rs.absolute()时报type_forward_only
conn       =       ds.getconnection();      
stmt       =       conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);      
rs       =       stmt.EXECutequery(sql);      

解决方法:改写    
stmt       =       conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);      
       
为以下,cursor才可以随意控制:

statement       stmt       =       con.createstatement(      
resultset.type_scroll_insensitive,resultset.concur_updatable);
发表于:2007-09-16 19:33:402楼 得分:0
select   count(*)   as   countid   from   tb_student
发表于:2007-09-16 19:40:093楼 得分:0
楼上说的对,你就得加上游标,不然是不能定位记录的。
发表于:2007-09-16 20:54:134楼 得分:0
你这样分页有何时效率,建义用hibernate吧,


快速检索

最新资讯
热门点击