2017-03-15 117 views
0

我是新来的Java,我试图打印在表格没有数据可用

Statement stmt=connection.createStatement(); 
    String sql ="INSERT INTO contacts(name,email)VALUES('ABC','[email protected]')"; 
    stmt.execute(sql); 
    ResultSet rs=stmt.executeQuery("SELECT*FROM contacts"); 
    while(rs.next()) 
    { 
    System.out.println(rs.getString("name")); 
    } 

的所有数据,并得到

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

回答

0

你需要调用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")); 
} 
+0

感谢帮助,它的工作,但为什么而没有工作? – user5520049

+0

@ user5520049你没有在你的问题中显示任何'while'循环... –

+0

对不起,我忘了写它,我用了,并有联系人 id是:id是:id是:id是:id是:id is:id is:id is:id is:id is:id is:id is:id is:id is:id is:id is:id is:id is:id is:id is:id is:id is: id is:id is:id is:id is:id is:id is:id is:id is:Exception in thread“main”org.h2.jdbc.JdbcSQLException:No data is available [2000-173] but i如果它工作,使用 – user5520049

相关问题