Implementation d'un bouton

Résolu
kanaz - 21 nov. 2013 à 12:51
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 25 nov. 2013 à 11:36
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

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 nov. 2013 à 08:19
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
   }
});
1
je precise que je developpe mon projet en java pour plus detaille
0
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.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 nov. 2013 à 08:47
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...
0

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

Posez votre question
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.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 nov. 2013 à 09:06
Il te suffit de faire une requête UPDATE :
connexion.executeUpdate("UPDATE Table set colonne1='"+variable+"'");
0
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();
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 nov. 2013 à 09:36
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 ?
0
j'utilise netbeans IDE 7.2
je n'ai pas mis autocommit à true.je ne vous comprend pas trop pour autocommit a true là.
0
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)
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 nov. 2013 à 10:01
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 ?
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 nov. 2013 à 10:04
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
0
quand je fait un executeUpdate, il m'affiche une erreur. incompatibles types
required:ResultSet
found:int
0
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
0
j'ai mis un int au lieu de retourner ResultSet. mais la modification ne marche toujours pas.
merci beaucoup pour votre aide.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 nov. 2013 à 11:46
Tu as utilisé un executeUpdate ? Tu as mis l'autocommit à true ?
0
tu peut me montrer ou est ce que je doit mettre l'autocommit à true.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 nov. 2013 à 13:47
Sur ta connexion : connexion.setAutoCommit(true):
0
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.
0
bonjour M.cs_julien39, je te remercie sincerement pour ton soutient.j'ai resoudre la modification grace a tes explications. Encore un grand merci.
0
Rejoignez-nous