ユーザーがタイトルを検索するときに「そのようなタイトルは見つかりませんでした」とユーザーに伝える方法がわかりません。テストしてデータベースからタイトルを入力すると、正しい情報が表示されます。
Game Id: 2
Title: Goldeneye 007
Rating: T
Platform: Nintendo 64
Developer: RockStar
しかし、ランダムな情報を入力すると、出力は次のようになります。
Game Id: 0
Title: asdsdfdfg
Rating: null
Platform: null
Developer: null
私は mysql を使用して Java で基本的なコンソール アプリケーションを使用しています。2 つのレイヤーがあります。私のプレゼンテーション層:
private static Games SearchForGame() {
Logic aref = new Logic();
Games g = new Games();
@SuppressWarnings("resource")
Scanner scanline = new Scanner(System.in);
System.out.println("Please enter the name of the game you wish to find:");
g.setTitle(scanline.nextLine());
aref.SearchGame(g);
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());
return g;
}
およびロジック層
public Games SearchGame(Games g) {
try {
Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(url+dbName,userName,password);
String sql = "SELECT GameId,Title,Rating,Platform,Developer FROM games WHERE Title=?";
java.sql.PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, g.getTitle());
ResultSet rs = statement.executeQuery();
while(rs.next()){
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"));
}
} catch (Exception e) {
e.printStackTrace();
}
return g;
}