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



如果由于不同的原因,我必须通过相同的ResultSet使用while(rs.next())一个接一个地循环两次,我该怎么做才能使ResultSet不会自动关闭,并防止"ResultSet is closed Exception"?我尝试使用resultset.first()将光标移回第一个循环后的第一行,但即使在该语句中也会出现此错误!

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

某些驱动程序无法重置ResultSet。在这种情况下,当调用first()时,您将得到一个Exception

如果您的驱动程序支持在ResultSet中滚动,您可以通过调用getResultSetType()来签入Statement

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

相关内容

  • 没有找到相关文章

最新更新