建议不要把ResultSet作为参数直接传递
这样会问题多多,而且它一直要占用一个连接 得到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++; } } |