java中ResultSet is closed 问题

lgyun 2010-05-06 06:03:07
代码:
i1=1;
for (i = 0; i < 2000; i++,i1++){
if(user[i]==null||user_name[i]==null)continue;
sql4="update JQBD set user='"+user[i]+"',user_name='"+user_name[i]+"' where num='"+num[i]+"'";
stmt1.executeUpdate(sql4);
System.out.print(df.format((float)(i1)/(float)(2000)*100));
p("% 插入数据");
p(i1);
}
为什么当 i1=1998的时候会出现ResultSet is closed 的异常?请大家指教,急
...全文
113 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liboofsc 2010-05-07
  • 打赏
  • 举报
回复
每个数据库连接打开的游标数都有限制的,应该是游标数超过限制了吧?
解决的思路是用同一数据库连接,不过每次用过的statement都关闭掉,下次更新再重新建一个statement
lgyun 2010-05-07
  • 打赏
  • 举报
回复
能说详细点么,我的确是在程序中多次用到了stmt1.executeUpdate[Quote=引用 5 楼 liuyinhou 的回复:]
操作数据库时要及时的关闭连接,我估计你的数据库已经超出连接上限。
每次stmt1.executeUpdate都会建立一个连接
建议你以100或500为一组插入
[/Quote]
lgyun 2010-05-07
  • 打赏
  • 举报
回复
这样的话会提示空指针[Quote=引用 4 楼 zfq642773391 的回复:]
num[i]在i=1998时越界了吧 还是没有这一项 你看一下吧
[/Quote]
hepeng_8 2010-05-06
  • 打赏
  • 举报
回复
操作数据库时要及时的关闭连接,我估计你的数据库已经超出连接上限。
每次stmt1.executeUpdate都会建立一个连接
建议你以100或500为一组插入
试试看
justchenjie 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liuyinhou 的回复:]
操作数据库时要及时的关闭连接,我估计你的数据库已经超出连接上限。
每次stmt1.executeUpdate都会建立一个连接
建议你以100或500为一组插入
[/Quote]
应该是这个原因
liuyinhou 2010-05-06
  • 打赏
  • 举报
回复
操作数据库时要及时的关闭连接,我估计你的数据库已经超出连接上限。
每次stmt1.executeUpdate都会建立一个连接
建议你以100或500为一组插入
zfq642773391 2010-05-06
  • 打赏
  • 举报
回复
num[i]在i=1998时越界了吧 还是没有这一项 你看一下吧
lgyun 2010-05-06
  • 打赏
  • 举报
回复
这个应该不是,i1和i的范围没关系,只要没循环一次只是给i1加1而已,没有相互影响
huaye 2010-05-06
  • 打赏
  • 举报
回复
输入它们两个的值
huaye 2010-05-06
  • 打赏
  • 举报
回复
看下是不是i1和i范围问题

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧