如何仅从ResultSet获取第一行

时间:2011-04-27 07:20:45

标签: java mysql jdbc

如何仅从ResultSet获取第一行?我知道如何遍历整个集合,但我如何才能获得第一行?

4 个答案:

答案 0 :(得分:41)

不要迭代结果集,只需检查是否存在读取它的条目:

ResultSet r = ...;
if(r.next()) {
  String s = r.getString(1);
  ...
}

答案 1 :(得分:4)

请勿致电resultSet.next();简单地提取数据

  

ResultSet对象维护指向其当前数据行的游标。最初,光标位于第一行之前。下一个方法将游标移动到下一行,因为当ResultSet对象中没有更多行时它返回false,它可以在while循环中用于迭代结果集。

或者您也可以拨打first()

  

将光标移动到此ResultSet对象的第一行。


答案 2 :(得分:2)

在我的情况下,以下方法效果很好:

@vote = current_user.votes.create(value: new_value, joke: @joke)

答案 3 :(得分:0)

您可以使用absolute导航到第一行:

ResultSet rs = ...;
rs.absolute(1); // Navigate to first row
int id = rs.getInt("id");
...