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