Java 错误 Operation Not Allowed After ResultSet Closed
本篇文章介绍了 Java 中的 java.sql.SQLException: Operation not allowed after ResultSet closed 错误。
Java 错误 java.sql.SQLException: Operation not allowed after ResultSet closed
当我们尝试访问关闭的结果集时,错误“结果集关闭后不允许操作”是一个 SQL 异常。 正如Java Doc提到的,每当一个statement对象被关闭时,如果它的Resultset对象存在,它也将被关闭。
错误的问题在于 Resultset 实例还将保存底层语句。 因此,当底层语句关闭时,结果集也将关闭,从而引发错误。
这是会引发相同错误的代码片段。
代码:
ResultSet Result_Set; // class variable
Statement Demo_Statement = null;
try{
Demo_Statement = DB_Connection.createStatement();
Result_Set = Demo_Statement.getGeneratedKeys();
}
catch (Exception e){
throw e;
}
finally{
try{
if (Demo_Statement != null)
Demo_Statement.close();
} catch (SQLException e){
throw e;
}
}
System.out.println(Result_Set.next());
上面带有数据库连接的代码将引发以下错误。
java.sql.SQLException: Operation not allowed after ResultSet closed
修复 Java 错误 java.sql.SQLException: Operation not allowed after ResultSet closed
代码中的问题是,在处理完 Resultset 之前,我们无法关闭语句实例。 一旦我们完成了结果集,我们就可以关闭结果集和语句实例。
正如我们所看到的,我们试图从 Result_Set.next()
打印布尔值,但我们在关闭语句实例后使用结果集,这也关闭了结果集。
在上面的代码中,修复方法是不在该位置关闭语句,或者在关闭语句实例后不使用结果集。 根据您的应用程序,我们可以删除 Demo_Statement.close()
或 System.out.println(Result_Set.next());
陈述。
代码:
ResultSet Result_Set; // class variable
Statement Demo_Statement = null;
try{
Demo_Statement = DB_Connection.createStatement();
Result_Set = Demo_Statement.getGeneratedKeys();
}
catch (Exception e){
throw e;
}
finally{
try{
if (Demo_Statement != null)
Demo_Statement.close();
} catch (SQLException e){
throw e;
}
}
我们刚刚删除了在语句实例关闭后尝试使用结果集的部分。 一旦对结果集完成所有操作,我们就可以关闭语句实例和结果集。
相关文章
使用 OpenCV solvepnp() 函数解决 PnP 问题
发布时间:2023/12/24 浏览次数:320 分类:Python
-
本教程讨论在 Python 中使用 OpenCV 中的 solvepnp 函数。OpenCV 库是一个开源库,旨在帮助完成计算机视觉任务。
在 Python 中导入 OpenSSL
发布时间:2023/12/20 浏览次数:200 分类:Python
-
本教程演示了如何在 Python 中使用 OpenSSL。我们旨在学习如何在 Python 中使用 OpenSSL。安装 OpenSSL Python 库
在 Ubuntu 中使用 OpenJDK 安装 Java
发布时间:2023/08/05 浏览次数:278 分类:Java
-
在本文中,我们将学习如何在 Ubuntu 20.04 中安装 Java。 它还说明了如何安装默认 Java、特定 Java 版本以及设置环境变量。在 Ubuntu 中使用 OpenJDK 安装 Java 在本文中,我们将使用 OpenJDK 安装 Java。
Java 错误 Javac Is Not Recognized as an Internal or External Command, Operable
发布时间:2023/07/13 浏览次数:270 分类:Java
-
本文介绍了 Java 的 'javac' is not recognized as an internal or external command, operable program or batch file 的可能原因以及该错误的可能解决方案。 首先,我们来看看 javac 是什么。Java 中的 Javac
解决 Java 错误 Java.Sql.SQLException: No Suitable Driver
发布时间:2023/07/11 浏览次数:214 分类:Java
-
本篇文章介绍了 Java 中的 java.sql.SQLException:No suitable driver 错误。Java 中 java.sql.SQLException: No suitable driver 的原因
解决 Java 中 java.util.zip.ZipException: Error in the Opening Zip File
发布时间:2023/07/10 浏览次数:387 分类:Java
-
本篇文章讨论了 java.util.zip.ZipException: error in opening zip file 消息背后的原因,并提供了该问题的可能解决方案。 让我们从理解错误开始。java.util.zip.ZipException:error in opening zip file
解决 Python: Can't Open File 'setup.py': [Errno 2] No Such File or Directory 错
发布时间:2023/07/08 浏览次数:2057 分类:Python
-
通过这个解释,我们将学习如何解决 Python 中的 FileNotFoundError 或 No such file or directory 错误。解决Python: can't open file 'setup.py': [Errno 2] No such file or directory错误
修复 Python 中 Can't Open File 'manage.py': [Errno 2] No Such File or Director
发布时间:2023/07/06 浏览次数:360 分类:Python
-
本篇文章介绍 Python 中的以下错误以及如何修复它:python: can't open file 'manage.py': [Errno 2] No such file or directory
Python 错误 TypeError: Unsupported Operand Type(s) for +: 'NoneType' and 'Int'
发布时间:2023/07/04 浏览次数:1764 分类:Python
-
在 Python 中,当您将整数值与空值相加时,会出现 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int' 。 我们将在本文中讨论 Python 错误以及如何解决它。