这货木有人用过么?jdk7还不是太普及阿

解决方案 »

  1.   

    OH   jdk7还真没有用过。好像增加了不少新的东西。ResutlSet肯定是需要关闭的嘛,这能有什么问题呢?
      

  2.   

    JDK7新增的try-with-resources是用来自动关闭资源的,只要这个资源类型接口AutoCloseable....所以才出现我提的问题。
      

  3.   

    你不关闭肯定会这样啊。。一定要关闭 最好放在finally块里
      

  4.   

    换个数据库试试,看看是jre的问题,还是M$ jdbc驱动的问题
      

  5.   

    请看清问题内容再说....
    应该跟这个没啥关系吧,实现是通过接口AutoCloseable的close方法来做的,显示调用和隐式调用同一个类型的同一个方法结果可能不同么?
      

  6.   

    public static void viewTable(Connection con) throws SQLException {    String query = "select COF_NAME, SUP_ID, PRICE, SALES, TOTAL from COFFEES";    try (Statement stmt = con.createStatement()) {      ResultSet rs = stmt.executeQuery(query);      while (rs.next()) {
            String coffeeName = rs.getString("COF_NAME");
            int supplierID = rs.getInt("SUP_ID");
            float price = rs.getFloat("PRICE");
            int sales = rs.getInt("SALES");
            int total = rs.getInt("TOTAL");
            System.out.println(coffeeName + ", " + supplierID + ", " + price +
                               ", " + sales + ", " + total);
          }    } catch (SQLException e) {
          JDBCTutorialUtilities.printSQLException(e);
        }
      }
    看官方例子
    http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html不知道你代码是不是写错了.
      

  7.   

    它和我唯一的不同就是他用的资源是Statement,我用的是ResultSet。这俩类型在jdk7里面都增加了接口AutoCloseable,所以在这里作为一个资源的作用应该是等效的。
      

  8.   

    按创建顺序关闭,之前的也要写在try(^^^^^^^)中,一次关闭