Bonjour,
J'ai un petit soucis qui me prend la tête depuis 2 jours.
Je réalise un batch de mise à jour d'une table de ma base.
Avant de faire mon update, je récupère la valeur du champ que je veux mettre à jour (de type Float) pour l'incrémenter de la nouvelle valeur.
Quand ce champs que je récupère est NULL, pas de problème il m'ajoute bien à 0 la nouvelle valeur.
Par contre, quand il y a déjà une valeur dans le champ à mettre à jour, lorsque je veux le récupérer, il me sort un "No data found".
Code :La méthode doQuery :
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 public float getCompta(String numDevis) throws SQLException{ String requete = "SELECT comptaN FROM donnees_comptable WHERE num_devis LIKE '"+numDevis+"'"; float compta = 0f; java.sql.ResultSet res = null ; /****************/ System.out.println("REQUETE getCOmpta :"+requete); ConnexionBase conn = new ConnexionBase(); res = conn.doQuery(requete); /****************/ try { while ( res.next() ) { if(res.getString(1) != null) compta = Float.parseFloat(res.getObject(1).toString()); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } conn.close(); return compta; }
Merci d'avance pour vos réponses.
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 public ResultSet doQuery(String query){ try { Class.forName(Constantes.piloteBase); String connectionString = Constantes.urlBase; conn = DriverManager.getConnection(connectionString); stmt = conn.createStatement(); rs = stmt.executeQuery(query); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } return rs; }
Partager