【问题标题】:JDBC ResultSet - No data is available [duplicate]JDBC ResultSet - 没有可用的数据[重复]
【发布时间】:2017-08-05 16:11:48
【问题描述】:

我是java新手,我试图打印表中的所有数据

    Statement stmt=connection.createStatement();
    String sql ="INSERT INTO contacts(name,email)VALUES('ABC','ABC@yahoo.com')";
    stmt.execute(sql);
    ResultSet rs=stmt.executeQuery("SELECT*FROM contacts");
    System.out.println(rs.getString("name"));

得到了

Exception in thread "main" org.h2.jdbc.JdbcSQLException: No data is available [2000-173]

【问题讨论】:

    标签: java exception jdbc


    【解决方案1】:

    您需要先拨打rs.next(),然后再拨打rs.getString("...")

    ...
    ResultSet rs=stmt.executeQuery("SELECT * FROM contacts");
    
    while(rs.next()) {
        System.out.println(rs.getString("name"));
    }
    

    如果您只希望有 1 行,那么您也可以这样做:

    ...
    ResultSet rs=stmt.executeQuery("SELECT * FROM contacts");
    
    if(rs.next()) {
        System.out.println(rs.getString("name"));
    }
    

    【讨论】:

    • 感谢您的帮助,它工作了,但为什么没有工作?
    • @user5520049 您的问题中没有显示任何while 循环...
    • 对不起,我忘了写,我用了while,得到了联系人id是:id是:id是:id是:id是:id是:id是:id是:id是:id是:id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id 是 :id is :id is :id is :id is :Exception in thread "main" org.h2.jdbc.JdbcSQLException: No data is available [2000-173] 但是当我使用它时
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 2012-09-21
    • 1970-01-01
    • 2014-06-25
    • 2015-09-30
    相关资源
    最近更新 更多