Java JDBC : Do I need to loop ResultSet when query returns single row?

标签 java jdbc

我的 sql 查询仅返回一行。查询时,我是否需要遵循通常的 while(rs.next) {...} 模式,或者我可以这样做:

...
rs.next();
int id  = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
...

而不是:

...
      while(rs.next()){
         //Retrieve by column name
         int id  = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
      }
...

最佳答案

不,您不必每次都循环,因为 rs.next() 的调用已经将指针从 null 设置到第一个可用行并返回小麦有或没有条目。

检查是否返回某些内容仍然有意义:

if(rs.next())
{
    // process resultset
}else
{
    // do something when no data arrived
}

关于Java JDBC : Do I need to loop ResultSet when query returns single row?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49690750/

相关文章:

java - results.next() == false 并且没有打印数据

java - 使用 Jdbc 捕获某些 FK 异常

java - 使用 Glide 加载位图到 ImageView

Java 客户端连接错误 : ChangeCipherSpec message sequence violation

java - 如何在 Java Jersey 中获取 HTML 选中的复选框

java - 无法从 Web 应用程序通过 JDBC 连接到 HIVE

java - 如何处理两个存储过程,一个返回单个值,另一个返回行?

java - 使用 Java8 流 api 避免长代码行的最简洁方法

java - Google appengine可以存储java对象POJO

java - 结果集中的 fetchsize 默认设置为 0