DBUtil db = new DBUtil();
        db.connetAccessDB();
        String sql = "select * from item where type = 0";
        ResultSet rs = db.getResultSet(sql);
        while (rs.next()) {  // 错误行
            String name = rs.getString("name");
            int id = rs.getShort("id");            String sql = "select * from item where type = 1 and fid= " + id;
            ResultSet rs1 = db.getResultSet(sql);
            while (rs1.next()) {
               String name = rs1.getString("name");
            }
        }
出异常了 java.sql.SQLException: ResultSet is closed

解决方案 »

  1.   

    我想是你连接数据库那个类写的不对吧,还没有用呢就先关闭了,如果是你的SQL语句有问题就,先给它输出出来,然后拿到查询分析器中运行试试,
    ResultSet is closed  但是这个错误写的应该是你已经关闭了,然后你再执行的下面操作,所以你执行不了!!!
    希望能帮到你吧
      

  2.   

    String sql = "select * from item where type = 1 and fid= " + id;
                ResultSet rs1 = db.getResultSet(sql);
                while (rs1.next()) {
                   String name = rs1.getString("name");
                }这段代码注释就可以了
      

  3.   

    java.sql.SQLException: ResultSet is closed异常提示得很明显了,ResultSet已经关闭了.你的这个方法db.getResultSet(sql)虽然返回的是ResultSet,但你方法的内部已经把connection,resultset关闭了,所以这个返回的ResultSet相当于是废的,读不了数据的.如果你真想让方法返回ResultSet,那就必须把connection拿出方法外来,在ResultSet读取数据完后再关闭.如果你不想这样,只能专门写一个类,来管理connection了,可以考滤使用threadlocal来存储当前链接