JDBC ResultSet-无可用数据 [英] JDBC ResultSet - No data is available

查看:111
本文介绍了JDBC ResultSet-无可用数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Java的新手,我试图将表中的所有数据打印出来

I'm new to java, i tried to print all data in the table

    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]

推荐答案

您需要先调用rs.next(),然后再调用rs.getString("...").

You need to call rs.next() before calling rs.getString("...").

...
ResultSet rs=stmt.executeQuery("SELECT * FROM contacts");

while(rs.next()) {
    System.out.println(rs.getString("name"));
}


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


If you're expecting only 1 row, then you can also do:

...
ResultSet rs=stmt.executeQuery("SELECT * FROM contacts");

if(rs.next()) {
    System.out.println(rs.getString("name"));
}

这篇关于JDBC ResultSet-无可用数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆