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 :
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;
 
	}
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
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;
	}
Merci d'avance pour vos réponses.