我有一个可能会获取多行数据的选择 SQL。
我只想要前 5 行。
除了添加 rownums = 5
或添加 statement.setMaxRows(5)
。
我可以使用 java 编码得到结果吗?
谢谢。
我尝试了 for 循环和 while(rs.next() && i < 5)。所有这些都不起作用。
try (Connection connection = abc.getConnection();
PreparedStatement statement = connection.prepareStatement(sql))
{
statement.setString(1,idNum);
ResultSet rs = statement.executeQuery();
for (int i = 0; i < 5; i++) {
while (rs.next()) {
itemList.add(rs.getString("idName"));
}
}
}
它显示了来自选择 SQL 的 itemList
中的所有结果。
最佳答案
目前,循环的单次迭代会耗尽整个结果集。
您可能想要添加结束条件,例如:
for (int i = 0; i < 5 && rs.next(); i++) {
itemList.add(rs.getString("idName"));
}
请注意,您对 while(rs.next() && i < 5)
的尝试也应该工作,你可能只是错过了 i
的增量.
关于java - 如何使用 JDBC 从 ResultSet 中只获取 5 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56967911/