这样会问题多多,而且它一直要占用一个连接 得到ResultSet对象后,马上把它放到一个ArrayList []里面,执行完这个方法后不但可以关闭rs,而且可以关闭Connection了,把资源释放了,然后把数组作为参数传递就可以了,它与SQL无关了
rs = st.executeQuery(sql); if (rs!=null) { rs.last(); int rows = rs.getRow(); if (rows == 0) return null; rs.beforeFirst(); array = new java.util.ArrayList[rows]; int l = 0; while (rs.next()) { array[l] = new ArrayList(); array[l].add(0,rs.getString(1)); array[l].add(1,new Double(rs.getDouble(2))); array[l].add(2,new Double(rs.getDouble(3))); array[l].add(3,rs.getString(4)); l++; } }
|