社区
Web 开发
帖子详情
关于分页当中的rs.last()
THJsword
2004-10-12 04:38:56
我在分页显示当中的程序中有一个rs.last(),想取到记录的末端
但是执行的时候,显示错误,提示我不支持 ResultSet.last
请问怎么回事,该怎么解决?
...全文
139
5
打赏
收藏
关于分页当中的rs.last()
我在分页显示当中的程序中有一个rs.last(),想取到记录的末端 但是执行的时候,显示错误,提示我不支持 ResultSet.last 请问怎么回事,该怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bhw0871
2004-10-14
打赏
举报
回复
怎么不结贴?呵呵
debug158
2004-10-12
打赏
举报
回复
ding
hubofly
2004-10-12
打赏
举报
回复
Tasia(这里是CSDN吗?) 说的很对的了
你应该是变量的名字错了
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(sql);
你只有定义了 变量rs 才可以引用rs的
如果你定义的是别的 你就要用别的名字做*.last();
zhz586
2004-10-12
打赏
举报
回复
应该是结果集对象的问题,建议:查看代码!
Tasia
2004-10-12
打赏
举报
回复
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
然后就可以rs.last(), rs.beforeFirst()等等操作了。
JSP
分页
技术实现.mht
目前比较广泛使用的
分页
方式是将查询结果缓存在HttpSession或有状态bean中,翻页的时候从缓存中取出一页数据显示。这种方法有两个主要的缺点:一是用户可能看到的是过期数据;二是如果数据量非常大时第一次查询遍历结果集会耗费很长时间,并且缓存的数据也会占用大量内存,效率明显下降。 其它常见的方法还有每次翻页都查询一次数据库,从ResultSet中只取出一页数据(使用
rs
.last();
rs
.getRow()获得总计录条数,使用
rs
.absolute()定位到本页起始记录)。这种方式在某些数据库(如oracle)的JDBC实现中差不多也是需要遍历所有记录,实验证明在记录数很大时速度非常慢。 至于缓存结果集ResultSet的方法则完全是一种错误的做法。因为ResultSet在Statement或Connection关闭时也会被关闭,如果要使ResultSet有效势必长时间占用数据库连接。
目前最好的JSP
分页
技术.txt
目前最好的JSP
分页
技术.txt
asp
分页
,asp
分页
使用说明
asp
分页
,asp
分页
使用说明asp
分页
,asp
分页
使用说明我提供的可能不是最好,但是一定可用.
用JSP和servlet实现的
分页
用jsp和servlet实现的
分页
技术....有Mysql也有其他数据库的~~~
MySQL真
分页
(jsp版)
用法:不用写连接数据库等多余代码(在ConnLink.java文件中修改一下相关属性就可以了,如果不想写
分页
,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了),只要建立一个Page对象,调用Select
RS
()方法,将SQL语句当前页码和每页要显示的条数正确的写入。Select
RS
()会自动返回一个结果集
rs
,然后用
rs
遍历输出结果。用getFrist()、getBack()、getLast()、getNext()等方法进行取得上一页的页码,下一面的页码就可以了。 看了之后是不是很心动呢~~~ HOHO~~其实我的代码有很多不足,例如:是不是可以做成通用的
分页
?也可以把DBlink()中的conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jiuzhou","root","123456");用的连接参数写在xml中生成一个JAR包,这样才更有扩展性,你说呢~~。希望高手能继续改良,让这段代码更精一些。HOHO~~~~改完之的一定要发到网上供大家参考和使用。 刚刚才发现Page.java文件是空的,在这里我就加上吧!实在是不好意思了 package com.SpreadPage; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.DateBase.*; public class Page extends ConnLink{ private Statement stmt=null; private ResultSet
rs
=null; private int row=0; private int num=0; private int page=0; private int list=0; //搜索去向 搜索条件 当前第几页 每页条数 public ResultSet Select
RS
(String select,int page_num,int page) { this.num=page_num; this.page=page; String sql=select+" limit "+(page_num*page)+","+(page_num*page+page); //System.out.println(sql); try { stmt=DBlink();
rs
=stmt.executeQuery(select);
rs
.fi
rs
t();
rs
.last(); this.row=
rs
.getRow(); System.out.println(sql); if(
rs
!=null) {
rs
.close(); } if(stmt==null) { System.out.println("Stmt无连接"); return null; }
rs
=stmt.executeQuery(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return
rs
; } //获得总记录数 public int getRow() { return row; } //第一页 public int getFrist() { return 0; } //最后一页 public int getBack() { if(getRow()%page==0) { return getRow()/page; } return (getRow()/page)+1; } //上一页 public int getLast() { if(num<=0) { return 0; } return (num-1); } //下一页 public int getNext() { int back=getBack(); if(num>=back) { return num; } return (num+1); } //当前页的条数 public int getNow() { try {
rs
.fi
rs
t();
rs
.last(); list=
rs
.getRow(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } //当前第几页 public int getPage() { int sum=(num*page-page)+1; if(getRow()
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章