Exception in thread "main" java.sql.SQLException: Statement has already closed.

好久不写简书了,今天遇到一个挺奇怪的问题,如下:

ResultSet rs = stmt.executeQuery("select * from xxx");

ResultSet rs2 = stmt.executeQuery("select * from xxx");


int countWb =0;

while (rs.next()) {

countWb = rs.getRow();

}

while(rs2.next()){

tradeDate=rs2.getString("xxx");

}

执行到while(rs2.next()){ 的时候就报Exception in thread "main" java.sql.SQLException: Statement has already closed.

中间没有关闭Statement ,

尝试修改代码顺序如下:

ResultSet rs = stmt.executeQuery("select * from xxx");

int countWb =0;

while (rs.next()) {

countWb = rs.getRow();

}

ResultSet rs2 = stmt.executeQuery("select * from xxx");

while(rs2.next()){

tradeDate=rs2.getString("xxx");

}

跑通成功,同一个stmt,执行完一次查询后,会关掉查询的入口,rs2.next()就会报错,所以rs2.next()运行之前在打开一次查询入口,即执行ResultSet rs2 = stmt.executeQuery("select * from xxx");

就可以了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每一年的年底都是我们每个人都最忙的时候,我呢就每天都忙着催收欠款、催客户清理库存、写工作报告来年工作计划的时候,然...
    telu8868阅读 503评论 0 0
  • 信用,俗话说得好,人无信不立。今天听到技术中心的谭工说要提高高要的置信水平,说下午来就下午来。我听着都觉得...
    一清YQ阅读 243评论 0 0
  • 任务: http://www.int.washington.edu/users/mjs5/Class_560/le...
    凝聚态物理阅读 335评论 0 0