java - MS Access "invalid record set status"错误

标签 java sql ms-access resultset jdbc-odbc

我成功连接到我的 Access 数据库,我的 SQL 工作正常,之后我有一个结果集。代码如下:

            Statement stmt = con.createStatement();
            String sqlStr ="select max(ID) from GuestBook ";
            ResultSet rset = stmt.executeQuery(sqlStr);

但是当我想从这样的结果集中获取值(value)时;

            int id = rset.getInt(1);

            int id = rset.getInt("ID");//or "max(ID)"

我有一个sql异常。

异常是“无效记录集状态”

如何解决这个问题?

最佳答案

将为 max(ID) 生成列名称 “Expr1000”。但我认为最好使用 As 子句为其指定一个定义良好的别名。

您必须调用 rset.next() 才能移动到第一行,因为最初,光标位于第一行之前。

Statement stmt = con.createStatement();
String sqlStr ="SELECT max(ID) As LastID FROM GuestBook";
ResultSet rset = stmt.executeQuery(sqlStr);
int id = 0;
if (rset.next()) {
    id = rset.getInt("LastID");
    // OR
    id = rset.getInt(1);
}

关于java - MS Access "invalid record set status"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27807863/

相关文章:

java - Android Studio 链接引用失败

java - kafka-设置java启动参数的正确方法

mysql - 如何在Mysql Select Query中统计并获取两行结果?

mysql - 如果没有数据则显示所有日期

java - Java 媒体框架教程

java - 使用httpurlconnection调用第三方api

sql - T SQL查询极值

ms-access - 在代码中设置值而不是 AfterUpdate() 后更新 VBA 表单

ms-access - 随时执行错误标签

mysql - 如何使用 MySQL 后端在 MS Access 中创建(多字段)搜索表单?