【问题标题】:SQL query returns data but ResultSet is emptySQL 查询返回数据但 ResultSet 为空
【发布时间】:2014-04-19 16:21:06
【问题描述】:

我已经搜索了一些问题,但没有什么像我的问题一样。我有这么简单的 SQL

SELECT MIN(date) 
FROM table1 
WHERE date > date1 (obviously date1 is a parameter)

我试图用 if(rset.next()) 捕捉空的结果集,但它不起作用,因为 MIN() 函数返回 EVER 1 行,虽然它是一个空行,所以我能做些什么来捕捉它?

提前致谢

【问题讨论】:

    标签: java sql jdbc resultset is-empty


    【解决方案1】:

    抱歉,我无法通过运行系统证明我的想法,但我会尝试在结果集上使用 wasNull():

    if (rs.next()) {
        date = rs.getDate(1);
        if (rs.wasNull()) {
         // do something
        }
    }
    

    【讨论】:

    • 它不起作用,因为当您尝试读取空列时出现异常 (java.lang.NullPointerException) 并且 if 指令未运行..
    • 嗯,可惜了。这是一个棘手的问题
    • 由“我自己”解决(感谢 Jens).. 我添加了一个 count(),当结果为 0 时,结果集为空 SELECT MIN(date), COUNT(id) FROM table1 WHERE date > date1 HAVING COUNT(id) > 0 感谢所有回复..
    猜你喜欢
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 2011-04-11
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    相关资源
    最近更新 更多