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

标签 java cursor resultset

如果由于不同原因我必须通过同一个 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/

相关文章:

java - 使用 Scanner 的 nextLine() 和 hasNextLine() 方法时出现问题

oracle - 如何在开始后声明游标?

java - 使用 ResultSet.updateRow 函数更新可更新 View 的行

java - 从JAVA中的sql查询中获取JSON的所有行

java - 如何在java中表示50亿和连续整数值

java - 想要为我的基于文本的游戏逐字符打印文本,但它在总延迟后打印出整个文本

java - 我可以在不完全填充对象的情况下使用它们吗?

c++ - 如何在不卡住窗口的情况下在 MFC 中连续运行函数?

Java linux 如何 move 鼠标光标

java - ResultSet 在执行查询后关闭