La connexion à une base de donnée

Résolu
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012 - 21 sept. 2011 à 16:57
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012 - 28 sept. 2011 à 12:07
Bonjour
Tout le monde j'ai un bouton modifie qui me permet de les données saisies dans la
base.Mon problème est que si je clique sur le bouton.C'est toute les enregistrements de la table qui se modifie.J'ai besoin de votre pour que me permettant de modifier et enregistrer.
Voici de la classe activitesMgmt qui n'a pas de méthode main


try{
String sql="UPDATE activite SET codeActivite =?,LibelleActivite=?,RespActivite=? " +
"codeFinancement=?" ;
PreparedStatement ps =co.prepareStatement(sql);

ps.setString(1,uneActivite.getcodeActivite());
ps.setString(2,uneActivite.getLibelleActivite());
ps.setString(3,uneActivite.getRespActivite());
ps.setString(4,uneActivite.getcodeFinancement());
ps.executeUpdate();
}

catch(Exception e){
System.out.println(e);
}
}


et fenActivite qui a la methode main



public void updateActivite()
{
codeActivite = saisieCodeActivite.getText();
libelleActivite =saisieLibelleActivite.getText();
respActivite = saisieRespActivite.getText();
codeFinancement = (String) listFinancements.getSelectedItem();

Activite uneActivite= new Activite(codeActivite,libelleActivite,respActivite,
codeFinancement);
ActiviteMgmt.modifierActivite(uneActivite);
}
J'ai besoins vraiment d'aide
Merci

5 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
21 sept. 2011 à 20:47
Bonjour,

Pour ne modifier qu'une partie de la table, ajoute une clause WHERE par exemple WHERE id='001' tu peux créer des conditions élaborées avec des AND et des OR.

Regarde la doc SQL à ce sujet.
3
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
22 sept. 2011 à 16:55
cela n a rien à voir avec le point d entré du programme ;o) (main)
dans l ideal c est ton tablemodel qui doit faire les acces au sgbdr, et à moin que cela soit absolument nécessaire l utilisation d un bouton pour mettre à jour la table est plutot désué... le mieu est de le faire en quitant la frame ou au fur et à mesure ... si tu dois gérer un gros volume de donnée, tu utilises une table temporaire pour l ihm et tu mets à jour la(les) table principale en quitant l application c est plus simple pour gerer les annulation ou les erreurs ...
tout cela est tres simple à faire, et pleins d exemples sont présent sur le site...
il est difficile de voir un probleme avec le peu de code fournit...

GodConan ;o)
3
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
21 sept. 2011 à 21:55
salut,

fait aussi des efforts sur le nommage ;o), les variables peuvent etre nommées avec beaucoup plus de 2 caractères ;o) ... les balises code serait un plus notable...

pour ton ton probleme ;o) c est clairement lié au SQL... ;o) il te manque à l'evidence une close WHERE ;o) ...

GodConan ;o)
0
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012
22 sept. 2011 à 11:39
Bonjour,
Merci beaucoup pour la réponse
Mais ici je n'ai pas la possibilité de mettre where id='001' parce que j'ai un bouton
suivant qui me permet d'aller à l'enregistrement suivant.Je voudrais à chaque fois modifier enregistrer puis aller à l'enregistrement.



Voici de la classe activitesMgmt qui n'a pas de méthode main
try{
String sql="UPDATE activite SET codeActivite =?,LibelleActivite=?,RespActivite=? " +
"codeFinancement=?" ;
PreparedStatement ps =co.prepareStatement(sql);

ps.setString(1,uneActivite.getcodeActivite());
ps.setString(2,uneActivite.getLibelleActivite());
ps.setString(3,uneActivite.getRespActivite());
ps.setString(4,uneActivite.getcodeFinancement());
ps.executeUpdate();
}

catch(Exception e){
System.out.println(e);
}
}

FenActivite avec methode main

public void updateActivite()
{
codeActivite = saisieCodeActivite.getText();
libelleActivite =saisieLibelleActivite.getText();
respActivite = saisieRespActivite.getText();
codeFinancement = (String) listFinancements.getSelectedItem();

Activite uneActivite= new Activite(codeActivite,libelleActivite,respActivite,
codeFinancement);
ActiviteMgmt.modifierActivite(uneActivite);
}

Merci et bonne journée
0

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

Posez votre question
tanalook Messages postés 20 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 18 décembre 2012
28 sept. 2011 à 12:07
Merci beaucoup de votre aide
0