1

データベースのすべてのレコードを表示するのに問題があります...データベース「ライブラリ」とテーブル「ブック」を取得しました。「メンバー」の構造: ID、タイトル、説明、作成者、発行者、発行年。

これが私の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(); を実行すると、メインクラスでは、データベースからのタイトルのみが表示されます...
他のレコードを表示するにはどうすればよいですか??? 私を助けてください。前もって感謝します!!!

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 に答える