SQL代码有效,next()函数输出true或false,但if(条件)不接受。
boolean status = res.next();
if (res.next()) {
System.out.println("first");
}
if (status) {
System.out.println("second");
}
上面的代码具有相同的语义,但是使用next()方法的代码不起作用。
如果结果集中只有一个记录,则status
为true,但下一次尝试res.next()
将返回false
。因此,以下代码将仅输出second
。
boolean status = res.next();
if (res.next()) {
System.out.println("first");
}
if (status) {
System.out.println("second");
}
如果结果集中有两个记录,则将同时获得first
和second
作为输出。
您所做的使结果集移动到第二行,因为您两次调用next()
,您可以像这样检查:
if (res.next()) {
System.out.println(“first”);
} else {
System.out.println(“second”);
}