【问题标题】:Check to see if ResultSet is Null if not then get int检查 ResultSet 是否为 Null,如果不是,则获取 int
【发布时间】:2011-02-26 22:18:14
【问题描述】:

我希望能够检查我的结果集中是否有结果。 Todo 这个我会执行:

if(rs.next()){
    boolean = true;
}

但是我想检查该值是否在数据库中,如果有的话检索它:

while(rs.next())
     id = rs.getInt("id);

我将如何将两者结合起来?如果结果集为空,我希望返回 -2。
提前致谢,
院长

【问题讨论】:

    标签: java jdbc


    【解决方案1】:

    只需使用if-else

    if (resultSet.next()) {
        return resultSet.getInt("id");
    } else {
        return -2;
    }
    

    有关如何处理存在、零/一、零/多结果的更多提示,另请参阅this answer

    【讨论】:

    • 除非你真的应该关闭结果集,这几乎需要你在任何一种情况下保存结果,然后关闭结果集,然后返回。
    • @Jay:我不知道你是怎么关闭资源的,但我通常会在finally 中关闭它们,这样就可以正常工作了。
    • 好的,我买那个。就我个人而言,我通常在 finally 块中关闭我的连接,但在主线代码中关闭 ResultSets 和 Statements,因为我懒得在 try 块之外声明它们,然后在里面填充它们。
    【解决方案2】:
    id = rs.next() ? rs.getInt("id") : -2;
    

    喜欢吗?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 2020-08-10
    相关资源
    最近更新 更多