Enregistrement dans une base de données Acces à partir de jList et jTextField

Résolu
oussamatel Messages postés 18 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 26 mai 2010 - 19 mai 2010 à 12:52
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

6 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
19 mai 2010 à 14:40
faut aussi remplacer ton
ResultSet res2 = st2.executeQuery(req2);
res2.close(); 

par un
st2.executeUpdate(req2);
3
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
19 mai 2010 à 13:08
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();
0
oussamatel Messages postés 18 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 26 mai 2010
19 mai 2010 à 14:17
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.
0
oussamatel Messages postés 18 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 26 mai 2010
19 mai 2010 à 15:23
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
19 mai 2010 à 16:08
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.
0
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,

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

je vous remercie tous
0
Rejoignez-nous