Ms访问“无效记录集状态”错误

时间:2015-01-06 21:55:50

标签: java sql ms-access resultset jdbc-odbc

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

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

但是当我想从结果集中得到这样的值时;

            int id = rset.getInt(1);

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

我有一个sql异常。

例外是“无效的记录集状态”

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

将为"Expr1000"生成max(ID)的列名称。但我认为最好使用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);
}