我有以下代码:
String query_NoHotels = "SELECT max(id) FROM hotels" ;
ResultSet res = stmnt.executeQuery(query_NoHotels);
logger.info("The result set size is "+res.getFetchSize());
int noHotels = res.getInt(1);
但是,ResultSet
始终返回空。我已经在数据库上测试了此查询,它应该返回 5
。
当结果只有一项(整数)时,这是存储结果的正确方法吗?
感谢您的帮助。
最佳答案
ResultSet
有一个游标。光标最初将定位在第一行之前(请参阅: http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html )。
您必须调用 first()
方法将光标移动到第一行:
ResultSet res = stmnt.executeQuery(query_NoHotels);
logger.info("The result set size is "+res.getFetchSize());
res.first();
int noHotels = res.getInt(1);
或者,您可以使用 next()
方法在 while
循环中迭代结果集。
关于java - SQL 检索和存储整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422077/