社区
Web 开发
帖子详情
急!高分相送!OutofMemoryError
ghostsz
2003-08-26 10:45:40
用jdbc连接,分页显示,游标技术,当数据量很大时,报错。java.lang.OutofMemoryError
数据库为:Sybase 12.0
st = con.createStatement(...);
rs = st.executeQuery(sSql);
rs.absolute(i);--------到这报错
...全文
32
8
打赏
收藏
急!高分相送!OutofMemoryError
用jdbc连接,分页显示,游标技术,当数据量很大时,报错。java.lang.OutofMemoryError 数据库为:Sybase 12.0 st = con.createStatement(...); rs = st.executeQuery(sSql); rs.absolute(i);--------到这报错
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ghostsz
2003-08-26
打赏
举报
回复
哦,你的方法很好,但sybase 没有rownum这个东东,我正在找.
ejbcreate
2003-08-26
打赏
举报
回复
我建议你不要一下子把所有符合条件的记录选出来,我的意思是说:你从jsp里传几个参数,
<a href="a.jsp?NextPage=2&RowsPage=10">下一页</a>
//其中NextPage:下一页的页码;RowsPage:每页显示的记录数;
1) 这样你可以先计算出符合条件的记录数目:
String lCountSql = "select count(*) as rowcount from ("+sSql+")";
rs = st.executeQuery(lCountSql);
int iCounts = 0;
if(rs.next())
iCounts = rs.getInt("rowcount");
2)获得你传过来的参数,并做处理:
int nRowPage = request.getParameter("RowsPage")==null?0:Integer.parseInt(request.getParameter("RowsPage"));
int nPage = request.getParameter("NextPage")==null?0:Integer.parseInt(request.getParameter("NextPage"));
if(nRowPage<1) nRowPage=10;
int nPages = (iCount-1)/nRowPage+1;
if (nPages<1) nPages=1;
if (nPage>nPages) nPage=nPages;
if (nPage<1) nPage=1;
3)进一步处理,
int nStartRow = 0;
int nEndRow = nRowPage;
if(nPage>1){
nStartRow = (nPage-1)*nRowPage+1;
nEndRow = nPage*nRowPage;
}
String sSql_1 = "select a.* from (select b.*,rownum rn from("+sSql+") b where rownum <= "+nEndRow+") a where rn >= "+nStartRow;
4)取得你想要的数据:
rs = st.executeQuery(sSql_1);
while(rs.next())
{
//
}
PS:你原来的SQL语句得按一定顺序排序,所选的数据才会正确。
希望对你有所帮助。
ghostsz
2003-08-26
打赏
举报
回复
分次读数据,怎么读?
数据量是很大
cainiao_2000
2003-08-26
打赏
举报
回复
分次读数据,不要一次读完!
dmhorse
2003-08-26
打赏
举报
回复
select时选少一点就是了,你一次不会取几十万条记录吧
gisgeoboy
2003-08-26
打赏
举报
回复
在rs.absolute(i);后面加一句rs.previous();
zhwquan
2003-08-26
打赏
举报
回复
用别的方法分页了。
dmhorse
2003-08-26
打赏
举报
回复
select时选少一点就是了,你一次不会取几十万条记录吧
JVM内存模型详解,看不懂你明天就不用来了!
切莫死记硬背,小心面试官直接让你出门右拐1000道互联网Java面试题:
Android总结
Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法逆向代码,例如反编译与注解相结合的框架,如 Retrofit单纯的反射机制应用框架,例如 EventBus(事件总线)动态生成类框架 例如Gsonandroid:configChanges是一个Activity的属性,用于指定在配置更改(例如屏幕旋转、键盘显示等)发生时,我们希望自己处理配置更改而不是系统重新创建Activity。
日常IT技巧总结
一、Windows问题处理技巧 Win7插入手机usb 弹出窗口关闭 1.按“WIN+R”弹出运行,在运行界面输入【services.msc】,点击确定,进入服务; 2.在服务列表找到 “Shell Hardware Detection”服务,双击打开; 3.在弹出的设置对话框,将服务的“启动类型”设置为“自动”,并单击“启动”,按“确定”保存设置。 4.再次打开“运行”,输入“gpedit...
Android面试,给正在找工作的安卓攻城师们 ... ...
从java基础技能到安卓进阶技能,有你想象不到的全面。 ☆ JAVA技能 « 有良好的JAVA基础,熟练掌握面向对象思想: 理解面向对象: 面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种优化,操作起来更加的方便,简化了过程。面向对象有三大
Android开发面试经典题目
下面是整理的Android知识点,可以平时巩固知识点,仅供复习使用。 ☆ JAVA技能 有良好的JAVA基础,熟练掌握面向对象思想: 理解面向对象: 面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种优化,操作起来更加的方便,简化了过程。面向对...
Web 开发
81,092
社区成员
341,716
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章