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;
}
}
我们刚刚删除了在语句实例关闭后尝试使用结果集的部分。 一旦对结果集完成所有操作,我们就可以关闭语句实例和结果集。
相关文章
解决 Java 错误 Java.Sql.SQLException: No Suitable Driver
发布时间:2023/07/11 浏览次数:89 分类: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 浏览次数:58 分类: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 浏览次数:117 分类: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 浏览次数:148 分类: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 浏览次数:129 分类:Python
-
在 Python 中,当您将整数值与空值相加时,会出现 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int' 。 我们将在本文中讨论 Python 错误以及如何解决它。
Python 中错误 ModuleNotFoundError: No Module Named Openpyxl
发布时间:2023/07/04 浏览次数:83 分类:Python
-
本文将讨论 Python 的 No module named 'openpyxl' 错误。 当我们导入的模块未安装或位于另一个目录中时,会出现 ModuleNotFoundError。
Python 中的 WARNING: An Illegal Reflective Access Operation Has Occurred
发布时间:2023/06/29 浏览次数:205 分类:Python
-
WARNING: An illegal reflective access operation has occurred 并不是什么新鲜事。 它从 Python 2.2 版本开始就存在了。反射是程序检查自身的能力,换句话说,是找出有关其结构和行为的信息的能力。
在 Python 中使用 OpenCV 的 imshow() 函数
发布时间:2023/06/01 浏览次数:87 分类:Python
-
本篇文章将介绍如何使用该库的 imshow() 函数。在 Python 中使用 OpenCV 库中的 imshow() 函数 cv2.imshow() 函数可以在新窗口中显示图像。 创建的窗口将自动调整以适合图像。
Python 中的 OpenCV-contrib 模块
发布时间:2023/06/01 浏览次数:196 分类:Python
-
Python 提供了一个名为 OpenCV 的标准库。 它有很多工具和功能来处理和实现不同的技术和算法。这个 OpenCV 库中有一个名为 OpenCV-contrib 的附加项。 我们将在本教程中讨论这个 OpenCV-contrib 模块及其