0

5 週間のコースで学んだことを示すために、この会社向けのコンソール アプリを作成しています。MySQLデータベースでcrud操作を行うコンソールアプリです。これは、基本的なビデオ ゲーム ストレージです。

二層になりました。プレゼンテーションとロジック。私の問題は、ビューメソッドが機能していないように見えることです。最初はテーブルから 1 行しか表示されませんでしたが、次に for ループを追加したところ、何も表示されなくなりました。

ここに私のプレゼンテーション層があります:

public static void ViewAll() {

    List<Games> gamelist = new ArrayList<Games>();
    Logic aref = new Logic();
    aref.ViewAllGames();
    for(Games g : gamelist){
        System.out.println();
        System.out.println("Game Id:   " + g.getGameId());
        System.out.println("Title:     " + g.getTitle());
        System.out.println("Rating:    " + g.getRating());
        System.out.println("Platform:  "+ g.getPlatform());
        System.out.println("Developer: "+ g.getDeveloper());
    }
}

ここに私のロジック層があります:

public static List<Games> ViewAllGames() {
    List<Games> game = new ArrayList<Games>();
    try {
        Class.forName(driver).newInstance();
        Connection conn = DriverManager.getConnection(url+dbName,userName,password);
        Statement statement = conn.createStatement();
        ResultSet rs = statement.executeQuery("SELECT * FROM games");
        while(rs.next()){
            Games g = new Games();
            for(Games gamelist : game){
                g.setGameId(rs.getInt("GameId"));
                g.setTitle(rs.getString("Title"));
                g.setRating(rs.getString("Rating"));
                g.setPlatform(rs.getString("Platform"));
                g.setDeveloper(rs.getString("Developer"));
                game.add(g);
            }
        }
    } catch (Exception e) {
         e.printStackTrace();
    }
    return game;

}

どんな助けでも大歓迎です、そして前もって感謝します。


編集:だから、最後の行を印刷するだけで複数の行を印刷するようになりました。結果は次のとおりです。

ゲーム ID: 10 タイトル: Goldeneye 007 レーティング: M プラットフォーム: Nintendo 64 開発者: RockStar

ゲーム ID: 10 タイトル: Goldeneye 007 レーティング: M プラットフォーム: Nintendo 64 開発者: RockStar

ゲーム ID: 10 タイトル: Goldeneye 007 レーティング: M プラットフォーム: Nintendo 64 開発者: RockStar

ゲーム ID: 10 タイトル: Goldeneye 007 レーティング: M プラットフォーム: Nintendo 64 開発者: RockStar

ゲーム ID: 10 タイトル: Goldeneye 007 レーティング: M プラットフォーム: Nintendo 64 開発者: RockStar

4

2 に答える 2