检查Java中的ResultSet是否为空 [英] Check if ResultSet is empty in Java

查看:0
本文介绍了检查Java中的ResultSet是否为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在程序中使用HSQLDB。我想检查我的结果集是否为空。

//check if empty first
if(results.next() == false){
System.out.println("empty");
}

//display results
while (results.next()) {
String data = results.getString("first_name");
//name.setText(data);
System.out.println(data);
}

上述方法不能正常工作。根据这个post,我必须调用.first().beforeFirst()将游标停留在第一行,但HSQL不支持.first().beforFirst()。我也尝试添加connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); 但我仍然得到相同的结果(我得到的消息是空的,数据来自数据库!) 我在这里做错了什么?

推荐答案

如果我理解您的目标,您可以使用do while循环

if (!results.next()) {
  System.out.println("empty");
} else {
  //display results
  do {
    String data = results.getString("first_name");
    //name.setText(data);
    System.out.println(data);
  } while (results.next());
}

或者,您可以像这样保留count

int count = 0;
//display results
while (results.next()) {
  String data = results.getString("first_name");
  //name.setText(data);
  System.out.println(data);
  count++;
}
if (count < 1) {
  // Didn't even read one row
}

这篇关于检查Java中的ResultSet是否为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆