建议不要把ResultSet作为参数直接传递

- 中国WEB开发者网络 (http://www.webasp.net)
-- 技术教程 (http://www.webasp.net/article/)
--- 建议不要把ResultSet作为参数直接传递 (http://www.webasp.net/article/7/6770.htm)
-- 作者:未知
-- 发布日期: 2003-07-26
这样会问题多多,而且它一直要占用一个连接
得到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++;
            }
        }  

webasp.net