Implementation d'un bouton [Résolu]

Signaler
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Bonjour a tous, quelqu'un pourrait m'aider avec un exemple de code pour que je puisse implementé un bouton pour pouvoir modifier les données que j'ai enregistré dans la base de données.j'utilise netbeans 7.2

21 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Salut,

JButton b1 = new JButton("Modifier");
b1.addActionListener(new ActionListener(){
   @Override
   public void actionPerformed(ActionEvent e){
      // Là tu écris le code qui te permet de modifier tes données en base
   }
});
je precise que je developpe mon projet en java pour plus detaille
Bonjour, merci beaucoup pour votre aide cs_julien39. je suis debutant en java. je vous donne exemple, et si vous pouvez prendre cet exemple là et m'expliquer ça me ferrai mieux comprendre d'avantage. j'ai une table Article dans ma base avec comme attribut: designation, quantite. j'ai implementer un bouton Enregistrer pour enregistrer ces données là.avec ces deux variables comment implementer maintenant mon bouton modifier pour modifier les données que j'ai enregistrer.c'est à dire la designation et la quantite.Aussi je veux qu'après avoir les enregistrer, je les affiche dans un jTable. merci de bien vouloir m'aider.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Et qu'est ce qui te poses problème exactement ? La communication avec la base ? l'ihm ? tout ?

Si c'est tout, tu devrais peut être reprendre tes cours ou faire quelques recherches sur internet...
j'arrive a me connecter a la base sans problème.c'est l'accès a ces deux variables et pouvoir les modifier qui me pose.je vous demande de prendre l'exemple que je vous ai exposé et m'aider avec l'implementation là je pourrai m'inspirer de ça pour mieux comprendre car m'ensort pas trop en java.merci pour votre comprehension.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Il te suffit de faire une requête UPDATE :
connexion.executeUpdate("UPDATE Table set colonne1='"+variable+"'");
j'ai dejà fait comme venez d'expliquer.mais ça ne marche.je ne sai pas s'il s'agit d'un autre problème. voici mon code.

// Methode pour modifier les Articles
private void UpdateArticle() throws SQLException{

String req;
req="UPDATE Article SET designt='"+designation+"',qt='"+quantite+"' ";

//On crée un statement
Statement state = connect.createStatement();

//On exécute la requête
ResultSet res = state.executeQuery(req);
//on ferme le tout
res.close();
state.close();
}
et j'appelle maintenant la methode dans mon bouton modifier.
this.UpdateArticle();
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Qu'est ce qui ne marche pas ? Tu as une erreur ? Ou bien tu n'as pas d'erreur mais la mise à jour n'est pas faite ?

Tu utilises un IDE ?

Tu as mis autocommit à true ?
j'utilise netbeans IDE 7.2
je n'ai pas mis autocommit à true.je ne vous comprend pas trop pour autocommit a true là.
voici ce j'ai comme message d'erreur quand je clic sur le bouton modifier.
run:
nov. 22, 2013 8:55:14 AM gestionstocks.Gestionfournisseur.Fournisseur btn_ModifierActionPerformed
SEVERE: null
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.Statement.checkForDml(Statement.java:417)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1140)
at gestionstocks.Gestionfournisseur.Fournisseur.Updatefournisseur(Fournisseur.java:1113)
at gestionstocks.Gestionfournisseur.Fournisseur.btn_ModifierActionPerformed(Fournisseur.java:760)
at gestionstocks.Gestionfournisseur.Fournisseur.access$1200(Fournisseur.java:27)
at gestionstocks.Gestionfournisseur.Fournisseur$13.actionPerformed(Fournisseur.java:390)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Quand tu effectues des modifs sur la base de données, il faut soit effectuer un COMMIT pour que les mises à jour soient effectuées.

Soit sur ta connexion tu fais un setAutoCommit(true) soit tu dois balancer des requêtes commit; ce qui est moins pratique.

Tu ne réponds pas à ma première question (qui est pourtant la plus importante) : Qu'est ce qui ne marche pas ?
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Nos réponses se sont croisées, vu ton message d'erreur, la solution est simple :

executeQuery : interroge la base
executeUpdate : modifie la base

Il faut donc que tu passes un executeUpdate pour faire un insert et non un executeQuery
quand je fait un executeUpdate, il m'affiche une erreur. incompatibles types
required:ResultSet
found:int
j'ai compris ce que vous avez di. jai suivi votre explication.
voici l'erreur qu'il m'affiche.
incompatibles types
required:ResultSet
found:int
j'ai mis un int au lieu de retourner ResultSet. mais la modification ne marche toujours pas.
merci beaucoup pour votre aide.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Tu as utilisé un executeUpdate ? Tu as mis l'autocommit à true ?
tu peut me montrer ou est ce que je doit mettre l'autocommit à true.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Sur ta connexion : connexion.setAutoCommit(true):
j'ai fais comme vous m'avez expliquer mais ça ne marche tjrs pas.je ne sais passi c'est du a un probleme.Merci beaucoup pour votre soutient.
bonjour M.cs_julien39, je te remercie sincerement pour ton soutient.j'ai resoudre la modification grace a tes explications. Encore un grand merci.