Bonjour,

Je me permets de vous solliciter pour vous faire part d'un problème que je rencontre dans mon projet Java actuel.

Mon problème est le suivante :
Dans un "JList" j'affiche toutes les valeurs d'une table de ma base de données MySQL. Jusque ici, pas de soucis.
Ensuite, je souhaite sélectionner une ligne et insérer quatre champs de cette ligne précédente vers une nouvelle table. Je peux sélectionner une ligne, et mon "println" me renvoie bien la bonne ligne en totalité, mais lors de l'insertion, il ne rentre que les valeurs de la dernière ligne.

Je précise que j'utilise le code suivant :

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
 try{
				/* Connexion à la base données pour la connexion de l'utilisateur*/
				Class.forName("com.mysql.jdbc.Driver");
				Connection con=DriverManager.getConnection("jdbc:mysql://localhost/XXXX","root","");
				String queryString = "SELECT Ref, Type, Genre, Titre, Auteur, Prix, Quantite FROM produits";  //Séléctionne tous les champs de ma table
				Statement stm=con.createStatement();
				ResultSet result = stm.executeQuery(queryString);
 
				while(result.next()){	
				ref = result.getString("Ref");
				type = result.getString("Type");
				genre = result.getString("Genre");
				titre = result.getString("Titre");
				auteur = result.getString("Auteur");
				prix = result.getString("Prix");
				quantite = result.getString("Quantite");
				listModel.addElement(ref+"     |     "+type+"     |     "+genre+"     |     "+titre+"     |     "+auteur+"     |     "+prix+"     |     "+quantite+"\n"); //affiche toutes les valeurs dans le DefaultListModel
 
				}
 
				con.close(); 
			}catch (Exception a) {
				System.out.println("ERROR :"+a.getMessage());	
 
			}
}
	public void actionPerformed(ActionEvent e){
		if(e.getActionCommand().equals(AJOUTER)){ //lorsqu'on appuie sur le bouton "ajouter"
			if(list.getSelectedIndex() > -1){ //selection de la ligne voulue
					int c = listModel.size() ; //Compte le nombre d'élément dans la JList
					for (int i=0;i<c;i++)
					{
						if (list.isSelectedIndex(i)) // si l'élément est sélectionné alors...
						{
							try
							{
								System.out.println("Valeur de la selection " + listModel.get(i)); //renvoie la valeur de la ligne séléctionné
								String nom = JOptionPane.showInputDialog(fenetre, "Entrez votre nom : (le même que lorsque vous vous etes inscrit)");
								String qte = JOptionPane.showInputDialog(fenetre, "Entrez la quantité que vous en voulez :");
								Connection con1 = DriverManager.getConnection("jdbc:mysql://localhost/XXXXX","root","");
								Statement stm = con1.createStatement();
								stm.executeUpdate("INSERT INTO `panier`(`Nom_client`,`Ref_article`,`type`,`titre`,`quantite`,`prix`)" +
				" VALUES('"+nom+ "','" +ref+ "','" +type+ "','"+titre+"','" +qte+ "','" +prix+ "')");  //requete qui insère les valeurs dans une nouvelle table
								JOptionPane.showMessageDialog(fenetre,"Vous venez d'ajouter le "+type+" : "+titre+" à votre panier");
								System.out.println("classe choix produit :"+ref+" "+pNom+" "+qte); 
 
							} 
							catch (Exception a) {
								System.out.println("ERROR3 :"+a.getMessage());	
 
							}
 
				}
			}
		}
 
		}
Comment puis-je résoudre ce problème ?
En vous remerciant par avance.
Simon