gpt4 book ai didi

java - 无法在 H2 中查看最近插入的结果

转载 作者:行者123 更新时间:2023-12-03 00:10:27 25 4
gpt4 key购买 nike

我正在将 H2 数据库系统用于我正在开发的一个小型 java 项目。如果我手动运行查询,一切都会按预期工作,但是当我运行程序时,我会得到以下结果:

Constructed: INSERT INTO library VALUES (null,'TEMPORARY_EFFECT_1369614387100','asdf',0,0,0,0,0)
Constructed: SELECT id FROM library WHERE name='TEMPORARY_EFFECT_1369614387100'
org.h2.jdbc.JdbcSQLException: No data is available [2000-171]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:169)
at org.h2.message.DbException.get(DbException.java:146)
at org.h2.message.DbException.get(DbException.java:135)
at org.h2.jdbc.JdbcResultSet.checkOnValidRow(JdbcResultSet.java:2956)
at org.h2.jdbc.JdbcResultSet.get(JdbcResultSet.java:2962)
at org.h2.jdbc.JdbcResultSet.getInt(JdbcResultSet.java:306)

我不太确定发生了什么。根据 JDBC 和 H2 的 JavaDocs,我做的事情是正确的(我认为)。 INSERT 通过调用 db.createStatement().executeUpdate(...) 执行,SELECT 通过 db.prepareStatement(..., ResultSet.TYPE_SCROLL_INSENSITIVE )

最佳答案

此异常通常是由于未调用 Resultset#next 引起的在调用 ResultSet getter 方法之一之前,在本例中似乎是 getInt

请务必调用

rs.next();

在使用任何 getter 方法之前。

关于java - 无法在 H2 中查看最近插入的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16765011/

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