[JAVA] Implémentation variable dans "INSERT"

Résolu
Bonjour,

J'utilise un programme en java qui permet de lire un fichier et de rentrer les valeurs dans une base de donnée SQL, jusque la tout marche bien ^^
Mon problème est que je crée une variable ID qui est "censé" augmenter de 1 à chaque fois qu'on rentre une nouvelle valeur dans la table.
Malheureusement a chaque fois que je rentre une nouvelle valeur cette variable reste à 25 (valeur de départ).

================

import java.sql.*;
import java.io.*;

class LectureEcriture_BD{

	public static void main(String[] args){

		String filePath = "Second.txt";
		String pilote = "com.mysql.jdbc.Driver";
	
		try{
			BufferedReader buff = new BufferedReader(new FileReader(filePath));

			
				try { 
					String line;
					while ((line = buff.readLine())!= null){  // Lire le fichier ligne par ligne 
																			//La boucle se termine quand la méthode affiche "null"
						int id = 25; 
						System.out.println(line);
						try{
							Class.forName(pilote);
							Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/renault","root","");
 							Statement instruction = connexion.createStatement();
							String SQL = "INSERT INTO valeurs_j1_c1(ID,Input) VALUES ("+id+","+line+")";
							instruction.executeUpdate(SQL);
						}
						catch (Exception e){
							System.out.println("Echec pilote : "+e);
						}
                                         id++;
					}				
					buff.close(); //Lecture fini donc on ferme le flux
				} 
				catch (IOException e){ 
					System.out.println(e.getMessage()); 
					System.exit(1);
				} 
		} 
		catch (IOException e) { 
			System.out.println(e.getMessage()); 
			System.exit(1); 
		}
	}
}




1 réponse

  1. Bonjour,

    C'est normal, d est initialisé en début de boucle while à 25. Pour démarrer à 25 et l'incrémenté de 1, il faut l'initialiser à 25 avant le while et id++ en fin de boucle.

    ;o)
    0
    1. Plus bête comme erreur y'a pas -_-

      Merci xD
      0