当sql语句没有返回任何行时,resultset.next()总是返回true

时间:2019-04-05 18:39:34

标签: java sql jdbc resultset

查询:

SELECT MAX(A.column2) FROM abcd A where A.column1= ? AND A.column3= 1

代码:

resultSet = statement.executeQuery();
if (resultSet.next()) {
    return resultSet.getInt(1);
}

当我执行此sql查询时,即使没有返回任何行并且resultSet.getInt(1)给出“ 0”,“ resultSet.next()”总是给出结果“ true”,如果没有返回行。.我的问题是为什么resultSet.next()始终为true? ...如果表中没有返回行,我想返回-1。如何使用结果集来做到这一点?

1 个答案:

答案 0 :(得分:3)

从文档中:

next()

将光标从当前位置向前移动一行。

即使没有行,它也将始终向前移动一行,因此请确保检查天气值为 null""