1

我在显示我的数据库中的所有记录时遇到了麻烦......我得到了数据库“图书馆”和表格“书籍”。“成员”的结构:id、title、description、author、publisher、yearPublished。

这是我的java代码方法:

public static void preuzmi() throws ClassNotFoundException, InstantiationException, SQLException, IllegalAccessException{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/library", "root","");

Statement st = conn.createStatement();
st.executeQuery("select * from books");
ResultSet rs = st.getResultSet();

while(rs.next())
            System.out.println(rs.getString("title"));
            System.out.println(rs.getString("description"));
            System.out.println(rs.getString("author"));
            System.out.println(rs.getString("publisher"));
            System.out.println(rs.getString("yearPublished"));

        }

当我运行这个方法 preuzmi(); 在主类中,它只显示来自 db 的标题...
我怎样才能显示其他记录?请帮我。提前致谢!!!

4

1 回答 1

3

您的 while 语句周围缺少大括号。

while(rs.next()) { // this tiny little '{' is reeeaaaally important here
            System.out.println(rs.getString("title"));
            System.out.println(rs.getString("description"));
            System.out.println(rs.getString("author"));
            System.out.println(rs.getString("publisher"));
            System.out.println(rs.getString("yearPublished"));
}

如果一段时间后不放大括号,if、for 等,只会执行紧随其后的语句。其余的将在整个循环结束后执行。

于 2013-09-19T22:44:39.690 回答