La connexion à une base de donnée

Résolu
Signaler
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012
-
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012
-
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

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
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.
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
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)
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
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)
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012

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
Messages postés
20
Date d'inscription
vendredi 4 novembre 2011
Statut
Membre
Dernière intervention
18 décembre 2012

Merci beaucoup de votre aide