我成功连接到我的 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/