ResultSet rs = stmt.executeQuery("select classname,(select count(id) from hinfo_list) as num from hinfo_class");
while( rs.next() ) {
    String cName = rs.getString("classname");
}
rs.close();
stmt.close();

解决方案 »

  1.   

    stmt不能重复使用。因为第一次使用stmt获得结果集后,再次使用stmt,java虚拟机会自动将前面的结果集关闭,导致不能使用前面的结果集。将while循环中的stmt替换为其他的对象。如下:
    stat
    ResultSet rs = stmt.executeQuery("SELECT classname FROM hinfo_class");
    while(rs.next()){
    String cName = rs.getString("classname");
    ResultSet rss = stmt.executeQuery("SELECT COUNT(id) AS num FROM hinfo_list");
    rss.next();
    int num = rss.getInt("num"); }
      

  2.   

    修改情况如下:
    ResultSet rss = stmt1.executeQuery("SELECT COUNT(id) AS num FROM hinfo_list");