醒时风拂衣,情动忽提笔
2019-12-31 22:36
采纳率: 33.3%
浏览 994
已采纳

jdbc连接数据库,查询成功返回数据但是还是报错java.sql.SQLException: Operation not allowed after ResultSet closed 这是怎么回事?

try {
Class.forName("com.mysql.jdbc.Driver");
String ur1="jdbc:mysql://localhost:3306/lingshi";
String username="root";
String password="root";
Connection con=DriverManager.getConnection(ur1,username,password);
Statement stmt=con.createStatement();
String sql1="select * from guogan";
ResultSet rs1=stmt.executeQuery(sql1);

    while(rs1.next()){
        String id=rs1.getString(1);
        System.out.print(id+"\t");
        String name=rs1.getString("name");
        System.out.print(name+"\t");
        String price=rs1.getString(3);
        System.out.print(price+"\t");
        String weight=rs1.getString("weight");
        System.out.print(weight+"\t");
        String birthdate=rs1.getString("birthdate");
        System.out.print(birthdate+"\t");
        String enddate=rs1.getString("enddate");
        System.out.print(enddate+"\t");
        String PD=rs1.getString("PD");
        System.out.print(PD+"\t");

        rs1.close();
        stmt.close();
        con.close();
    }
} catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}catch(SQLException e1){
    e1.printStackTrace();
}
我的结果如下
1   芒果干   13.00   106g    2019.12.29  2020.12.29  12months    java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963)
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2020-01-01 09:45
    已采纳
        rs1.close();
        stmt.close();
        con.close();
    
    这些写在while循环后面,而不是里面
    

    问题解决的话,请点下采纳

    已采纳该答案
    4 打赏 评论
  • 家明君 2020-01-05 16:30

    异常翻译:结果集关闭后不允许执行操作。

    打赏 评论

相关推荐 更多相似问题