rs.next()的Java.sql.ResultSet错误

问题描述 投票:0回答:1

SQL代码有效,next()函数输出true或false,但if(条件)不接受。

boolean status = res.next();
if (res.next()) {
     System.out.println("first");
 } 

if (status) {
      System.out.println("second");
}

上面的代码具有相同的语义,但是使用next()方法的代码不起作用。

java sql jdbc
1个回答
0
投票

如果结果集中只有一个记录,则status为true,但下一次尝试res.next()将返回false。因此,以下代码将仅输出second

boolean status = res.next();
if (res.next()) {
     System.out.println("first");
 } 

if (status) {
      System.out.println("second");
}

如果结果集中有两个记录,则将同时获得firstsecond作为输出。


0
投票

您所做的使结果集移动到第二行,因为您两次调用next()

,您可以像这样检查:

if (res.next()) {
     System.out.println(“first”);
 } else {
      System.out.println(“second”);
 }
© www.soinside.com 2019 - 2024. All rights reserved.