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

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

Votre réponse

6 réponses

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

par un
st2.executeUpdate(req2);

Merci cs_laurent1024 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_laurent1024
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 19 mai 2010 à 13:08
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
oussamatel 18 Messages postés vendredi 12 octobre 2007Date d'inscription 26 mai 2010 Dernière intervention - 19 mai 2010 à 14:17
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
oussamatel 18 Messages postés vendredi 12 octobre 2007Date d'inscription 26 mai 2010 Dernière intervention - 19 mai 2010 à 15:23
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
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 19 mai 2010 à 16:08
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
oussamatel 18 Messages postés vendredi 12 octobre 2007Date d'inscription 26 mai 2010 Dernière intervention - 19 mai 2010 à 17:21
0
Merci
salut,

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

je vous remercie tous
Commenter la réponse de oussamatel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.