java - JDBC 结果集 - 没有可用数据

标签 java exception jdbc

我是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]

最佳答案

在调用 rs.getString("...") 之前,您需要先调用 rs.next()

...
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"));
}

关于java - JDBC 结果集 - 没有可用数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42801000/

相关文章:

java - 列名中包含 "?"的 JDBCPreparedStatement

mysql - 使用jdbc通过ip连接远程mysql,但是ip变成了另一个ip

java - 为什么使用 FloatBuffer 而不是 float[]?

java - 词库/词干词典

java - 向 Jersey multipart-form-data 函数添​​加注释会破坏它

mysql - 如何在 jdbc 数据源中使用 dbtable 选项的子查询?

java - Java Swing Eclipse - JPanel 和组件自动调整大小

c# - 当方法尝试使用可以为空的字段时抛出哪个异常?

c# - LINQ 查询的异常未在预期位置捕获

scala - Scala + Akka 奇怪的 try/catch 行为