Tout d'abord, votre requête SQL est incorrecte.
SELECT max(f.capacity)-COALESCE(SUM(r.num_seats),0) AS seats_avail
FROM flights f,
reservations r
WHERE f.flight_no="CSC585"
AND r.flight_no=f.flight_no
AND r.departure_date="2010-05-31";
Code Java ressemble
String sql = " SELECT max(f.capacity)-COALESCE(SUM(r.num_seats),0) AS seats_avail
FROM flights f,
reservations r
WHERE f.flight_no=?
AND r.flight_no=f.flight_no
AND r.departure_date=?";
final PreparedStatement stmt = connectionHolder.prepareStatement(sql);
stmt.setString(1, "CSC585");
stmt.setString(2, "2010-05-31");
ResulSet rs = stmt.executeQuery();
while (rs.next()) {
String seats = rs.getString("seats_avail");
System.out.println(seats);
}
merci .... dois-je utiliser « finale » mot-clé ici ?? il est inutile? Et Dans la requête, r.flight_no = csc585 donné ... donc je peux utiliser stmt.setString (3, "csc585") pour cela ?? –
Vous n'avez pas besoin d'utiliser "final" si vous le souhaitez. Et vous pouvez utiliser stmt.setString (3, "csc585") si vous le souhaitez. –
stmt.setString (1, "CSC585"); - Pouvez-vous nous dire pourquoi nous utilisons 1 ici et 2 dans l'autre? que représente-t-il? SI nous utilisons? Dans notre question, comment cela prendrait-il la condition requise? –