mais j'utilise pas executeQUERY ca doit etre faux :/








mais j'utilise pas executeQUERY ca doit etre faux :/








méthode createResultSet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public ResultSet createResultSet(String rsql) { Statement statmt = createStatement(connect) ; return createResultSet(statmt, rsql) ; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public static Statement createStatement(Connection cnl) { Statement stmt = null ; try { if (cnl != null) { stmt = cnl.createStatement() ; } } catch (SQLException e) { System.err.println("Error in createStatement") ; showListSqlExceptions(e) ; } finally { return stmt ; } }








Humm, ça ma parait bien compliqué tout ça.
Est-ce que ça marche ?
Sinon, je te conseille simplement de remplacer ta méthode executeSQL par quelque chose comme ça :
Pas testé !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }








ca marche aussi, je vais utiliser ta méthode alors, merci
Partager