Votre try-with-resources
fait close
le ResultSet
, mais là n'est pas le vrai problème. Vous devez configurer la Statement
avant vous l'exécutez (et préférez PreparedStatement
et paramètres de liaison). Quelque chose comme,
public Integer findByName(String name) throws SQLException {
String sql = "select id from artists where name=?";
Connection con = Database.getConnection();
try (PreparedStatement stmt = con.prepareStatement(sql)) {
stmt.setString(1, name);
try (ResultSet rs = stmt.executeQuery()) {
return rs.next() ? rs.getInt(1) : null;
}
}
}