如果由于不同原因我必须通过同一个 ResultSet
使用 while(rs.next())
循环两次,我该怎么办ResultSet
不会自动关闭并防止“ResultSet 已关闭异常”?我尝试使用 resultset.first()
将光标移回第一个循环后的第一行,但即使在此语句上也会引发此错误!
最佳答案
这取决于您使用的驱动程序。
某些驱动程序无法重置 ResultSet
。在这种情况下,当调用 first()
时,您将得到一个 Exception
。
如果您的驱动程序支持在 ResultSet
中滚动,您可以通过调用 getResultSetType()
来检查 Statement
。
如果可能,请尝试在一次迭代中完成两件事,因为您永远不知道是否可以对 ResultSet
进行第二次迭代。
关于java - 将光标移动到 while 循环 ResultSet 后的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17450766/