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

标签 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.next()”始终给出结果“true”,即使没有返回行并且resultSet.getInt(1)给出“0”,如果没有返回行..我的问题是为什么 resultSet.next() 总是 true ? ...如果表中没有返回行,我想返回 -1 如何使用结果集做到这一点?

最佳答案

来自文档:

next()

Moves the cursor froward one row from its current position.

即使没有行,它也始终会向前移动一行,因此请务必检查天气值是否 null""

关于java - 当sql语句没有返回行时,resultset.next()总是返回true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55541557/

相关文章:

SQL Server - 选择行,删除重复但保留最高日期的行

sql-server - 使用 cfqueryparam 创建准备好的语句的条件?

Java Jdbc 事务

Flyway 未选择 Java 迁移

mysql - sql 查询返回太多结果和重复项

java - wsimport - 如何在单独的项目/文件夹中生成服务端点类和 JAXB 类

sql - 甲骨文 :Compare dates only by the Hour

java - 插入语句在java中不起作用

java - 在 Eclipse 中使用 .jars

java - 将 JSON 发布到后端