java - SQL 检索和存储整数

标签 java sql select derby

我有以下代码:

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/

相关文章:

java - 在java中迭代2个列表

sql - 查询返回空集 Mysql 5.1.49 但返回 5.0-ish 上的内容

php - 如何使用 Propel ORM 中的 SQL "replace"函数?

sql - 为什么不能根据主键调用SQL select?

mysql - Bash 选择并返回字符串

MySQL - 从两个表中选择 COUNT

java - Elasticsearch java.lang.NoClassDefFoundError:org/elasticsearch/transport/Netty3Plugin

java - 安卓刀柄。是否可以将一个 ViewModel 注入(inject)另一个 ViewModel 中?

java - 如何使用 keySet().iterator() 查找 HashMap 中键的模式

python - 将 SQL 故障转移合作伙伴与 pyodbc 结合使用