Java 无法查看H2中最近插入的结果

Java 无法查看H2中最近插入的结果,java,sql,jdbc,h2,Java,Sql,Jdbc,H2,我正在为一个小型java项目使用H2数据库系统。如果我手动运行查询,一切正常,但当我运行程序时,我会得到以下结果: 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.Jdb

我正在为一个小型java项目使用H2数据库系统。如果我手动运行查询,一切正常,但当我运行程序时,我会得到以下结果:

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(…)
执行,而
通过db.prepareStatement(…,ResultSet.TYPE_SCROLL_不敏感)

此异常通常是由于在调用
ResultSet的一个
getter方法之前未调用,在本例中显示为
getInt

一定要打电话

rs.next();

在使用任何getter方法之前。

谢谢!不完全是这样,但这帮我解决了问题!在我使用实用函数计算行数之后,我没有重新缠绕结果集。再次感谢!