gpt4 book ai didi

java - 没有关闭语句的关闭结果集

转载 作者:行者123 更新时间:2023-11-29 01:23:34 25 4
gpt4 key购买 nike

在我的应用程序中,如下代码

ResultSet images = statement.executeQuery("SELECT id, filename, run" +
" FROM images" +
" JOIN comparer_results results ON results.toImageId = images.id" +
" WHERE result <= 100");

while (images.next()) {
statement.executeUpdate("DELETE FROM images WHERE id = "
+ images.getInt("id"));

File imageFile = new File(config.getProperty("system.imageDirectory")
+ File.separator
+ images.getString("filename") + ".jpg");
}

抛出异常

java.sql.SQLException: Operation not allowed after ResultSet closed

在实例化 imageFile 的行中。据我了解,这是由 images.getString("filename") 操作引起的。但是为什么 ResultSet 是关闭的呢?我从不调用这样的方法,对结果集的第一个操作 (images.getInt("id")) 工作得很好。

最佳答案

只要你打电话

statement.executeUpdate("DELETE FROM images WHERE id = "
+ images.getInt("id"));

您重新使用了语句。这意味着任何先前创建的 ResultSet 都会自动关闭。

在这种情况下,您必须使用两个 Statement

关于java - 没有关闭语句的关闭结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9955606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com