Enregistrement dans une base de données Acces à partir de jList et jTextField [Résolu]

Messages postés
18
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
26 mai 2010
- - Dernière réponse : oussamatel
Messages postés
18
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
26 mai 2010
- 19 mai 2010 à 17:21
salut à tous,

j'ai presque fini le travail que j'ai a faire, un petit truc me dérange encore.

alors, je veux enregistrer dans un Table access les elements de 2 jtextfeild eu une jlist. tout est parfait lorsque j'avais un seul element dans ma jliste, alors quand je doit avoir plus q'un seul element ca commence les problèmes

voici le code que j'ai essayé mais ca me donne qu'un seul element :

Statement st2 = conn.createStatement();
for (i=1 ; i<100; i++){
String req2 =
"INSERT INTO Table2 VALUES('"+list1.getItem(i)+"','"+tfdate.getText()+"','"+tfheure.getText()+"')";
ResultSet res2 = st2.executeQuery(req2);
res2.close();
st2.close();
conn.close();


j'attends vos réponses
merci
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
12
3
Merci
faut aussi remplacer ton
ResultSet res2 = st2.executeQuery(req2);
res2.close(); 

par un
st2.executeUpdate(req2);

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 205 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_laurent1024
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
12
0
Merci
Il faut mettre ton
st2.close();
et ton
conn.close();
hors de la boucle du "for".
Statement st2 = conn.createStatement();
for (i=1 ; i<100; i++){
String req2 =
"INSERT INTO Table2 VALUES('"+list1.getItem(i)+"','"+tfdate.getText()+"','"+tfheure.getText()+"')";
ResultSet res2 = st2.executeQuery(req2);
res2.close();

} 
st2.close();
conn.close();
Commenter la réponse de cs_laurent1024
Messages postés
18
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
26 mai 2010
0
Merci
salut,

jai essayé se faire sortir les deux instructions
st2.close();
conn.close();
hors de la boucle 'for' mais j'ai toujours la même résultat rien n'est changé : toujours un seul élément

REMARQUE :j'ai un seul element "tfdate" et un seul élément "tfheures" qui doivent se répéter dans ma base de données et le nombre de répétitions c'est celui le nombre des elements de ma JList.
Commenter la réponse de oussamatel
Messages postés
18
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
26 mai 2010
0
Merci
salut,

merci beaucoup laurent1024, tout vas très bien et j'ai eu tout ce que j'ai besoin.
un simple petit truc qui manque c'est que lorsque je veux ajouter des éléments à la même base que j'ai. je suis face à un message d'erreur

[Microsoft][Pilote ODBC Microsoft Access] Modifications non effectuées: risque de doublons dans champs index, clé principale ou relation interdisant les doublons. Modifiez les données des champs contenant les doublons, enlevez ou redéfinissez l'index pour permettre les doublons et recommencez.
Commenter la réponse de oussamatel
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
12
0
Merci
Le message d'erreur me semble clair :
tu dois avoir dans ta table un index ou une clef primaire, ce qui t'empêche d'ajouter plusieurs fois le même enregistrement dans ta base de données.
Soit il faut modifier ta table dans la base de données, soit ne faire que des "insert" que pour les données qui ne sont pas encore stockées en base, soit éventuellement faire des requêtes de mis à jour (update)... tout cela dépend de ce que ton appli doit faire.
Commenter la réponse de cs_laurent1024
Messages postés
18
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
26 mai 2010
0
Merci
salut,

merci à toi Laurent1024
Mon travail est fini, et tout vas bien

je vous remercie tous
Commenter la réponse de oussamatel