Java 结果设置如何检查是否有任何结果

2022-08-31 04:54:26

Resultset 没有 hasNext 的方法。我想检查结果集是否有任何值

这是正确的方法吗

if (!resultSet.next() ) {
    System.out.println("no data");
} 

答案 1

假设您正在使用一个新返回的游标指向第一行之前,则检查此项的更简单方法是调用 。这样可以避免在读取数据时必须回溯跟踪。ResultSetisBeforeFirst()

如文档中所述,如果游标不在第一条记录之前,或者如果 ResultSet 中没有行,则返回 false。

if (!resultSet.isBeforeFirst() ) {    
    System.out.println("No data"); 
} 

 


答案 2

没错,最初 的游标指向第一行之前,如果第一次调用返回,则 .ResultSetnext()falseResultSet

如果使用此方法,则可能必须在之后立即调用以重置它,因为它现在已将自己定位在第一行之后。beforeFirst()

然而,应该指出的是,Seifer下面的答案是这个问题的一个更优雅的解决方案。


推荐