在while循环ResultSet之后将光标移动到第一行

时间:2013-07-03 14:29:24

标签: java cursor resultset

如果我必须使用while(rs.next())通过相同的ResultSet出于不同的原因相继循环两次,我可以做什么,以便ResultSet不会自动关闭防止'ResultSet被关闭异常'?我尝试使用resultset.first()将光标移回第一个循环后的第一行,但即使在此语句中也会触发此错误!

1 个答案:

答案 0 :(得分:3)

这取决于您使用的驱动程序。

某些驱动程序无法重置ResultSet。在这种情况下,您在致电Exception时会收到first()

如果您的驱动程序支持在Statement中滚动,则可以通过致电getResultSetType()来检查ResultSet

如果可能的话,尝试在一次迭代中完成你的两件事,因为你永远不知道你是否可以在ResultSet上再次迭代。