1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
/** Exécute la requête permettant de connaître la différence entre les dates de
* début et de fin d'un abonnement
* retourne -1 si une erreur se produit
*/
public int executeSQL(String rsql) {
int retour;
Statement statmt = createStatement(connect);
ResultSet rs;
try {
rs = statmt.executeQuery(rsql);
}
catch (SQLException se) {
System.err.println("Erreur sql dans '" + rsql + "'");
System.err.println("Exception : " + se);
return -1;
}
try {
// rs n'est jamais null (cf. doc de executeQuery)
if (rs.next()) {
retour = rs.getInt(1);
}
else {
System.err.println("Pas d'abonnement trouvé");
return -1;
}
// On vérifie que la requête ne retourne pas plusieurs ligne car ça voudrait
// dire qu'il y a une erreur dans la requête.
if (rs.next()) {
System.err.println("Erreur : Plusieurs lignes retournées par la requête !");
return -1;
}
}
catch (SQLException sqle) {
System.err.println("Erreur dans le parcours du ResltSet : " + sqle);
return -1;
}
return retour;
} |