今天在循环查询结果时,发现while(rs.next)只能循环一次,无法第二次循环,最后发现是因为每一次next(),游标都会移动,移动到最后,便不能再次循环。
如果需要再次循环,可以在循环结束后,加上 rs.beforeFirst();代码,重置游标,方可再次循环。
如果rs.beforeFirst();报错;
是因为rs的游标默认不能向前,所以还需要改一个地方
将
st = conn.createStatement();
改为
st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
这样
rs.beforeFirst();才会起作用。
源码还没有去研究过,有空去研究一下,详细记录一下。?
11-14
09-12
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交