当前位置: 代码迷 >> J2EE >> java.sql.SQLException: After end of result set,该怎么解决
  详细解决方案

java.sql.SQLException: After end of result set,该怎么解决

热度:1549   发布时间:2016-04-17 23:58:20.0
java.sql.SQLException: After end of result set
我已经声明两个Statment了啊,为什么ResultSet结果集还是关闭了?代码如下
    PreparedStatement pstmt =conn.prepareStatement(sql);
     Statement stmt=conn.createStatement();
     Statement stmt2=conn.createStatement();
     ResultSet rssumkm1=stmt.executeQuery(sql1); 
     ResultSet rs=pstmt.executeQuery();
    
     ResultSet rs2=stmt2.executeQuery(sql2);  
     rs2.last();
     while(rs.next())
     {
        Jixiao jx=new Jixiao();
      
        jx.setId(rs.getInt(1));
        jx.setDay(rs.getString(2));
        jx.setClasst(rs.getString(3));
        jx.setStarttingtime(rs.getInt(4));
        jx.setFinishtime(rs.getInt(5));
        jx.setOrigin(rs.getString(6));
        jx.setFinish(rs.getString(7));
        jx.setStartkm(rs.getInt(8));
        jx.setFinishkm(rs.getInt(9));
        jx.setKm(rs.getInt(10));
        jx.setAllowance(rs.getInt(11));
        list.add(jx);
         
     }
     rssumkm1.next();
     request.setAttribute("sumkm", (rssumkm1.getString(1)));  
     System.out.println((rssumkm1.getString(1)));
     rs.last();
     rs2.next();
     request.setAttribute("sumAllowance", (rs2.getString(1)));
     request.setAttribute("list", list);
     request.getRequestDispatcher("Showlist.jsp").forward(request, response);


报错的代码是这句      request.setAttribute("sumAllowance", (rs2.getString(1)));   这句代码以上都执行了。
------解决方案--------------------
你在前面使用了  rs2.last(); 光标移动到了最后一行
后面再用rs2.next(); 把光标移动到下一行,而本行已经是最后一行,所以就关闭了ResultSet rs2

------解决方案--------------------
端午节还在学习的人伤不起啊
  相关解决方案