Suppression automatique d'une ligne de tableau

Résolu
kokog - 23 avril 2013 à 04:12
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 29 avril 2013 à 08:00
Bonjour cher tous,
J'écris une appli dans laquelle jai une jFrame et une jDialog. J'ai un tableau sur la jFrame. Au double-clic sur une ligne du tableau, la jDialog apparait et je fais une mise à jour des info du tableau que j'enregistre ensuite dans une autre table de ma db.
Ce que je voudrais, c'est que la ligne mise a jour s'efface du tableau (et donc de la 1ère table si possible). Aidez-moi à écrire ce delete svp../. Merci

8 réponses

je precise que je developpe en JAVA sous ntbeans
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
23 avril 2013 à 08:25
Salut,

Quand tu créés ton tableau :
Object[] entetes = new Object[]{"entete1", "entete2"};
Object[][] data = new Object[0][entetes.length];
table=new JTable(new DefaultTableModel(data, entetes));
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
23 avril 2013 à 08:25
Et ensuite pour supprimer la ligne i :
((DefaultTableModel)(table.getModel())).removeRow(i);
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
26 avril 2013 à 11:44
la clé de t1 migre en t2 à la mise à jour


Cette phrase ne veut rien dire.

Si tu as deux tables qui contiennent les mêmes données, ce n'est pas une bonne idée, mais pour supprimer, tu peux faire deux requêtes DELETE
3

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

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 avril 2013 à 08:00
Bon, j'allais te répondre la même chose, c'est bien que tu t'en sois sorti.

Peux tu accepter les réponses qu'il t'on aidé pour fermer ce sujet.

a+
3
Merci Julien39,
A faire comme tu dis est bien cool; cependant l'enregistrement étant toujours présent dans la db, il s'affichera à nouveau a la prochaine connexion.

Je cherche donc à bien ecrire une requete DELETE. Deux tables differentes t1 et t2; la clé de t1 migre en t2 à la mise à jour.

Une fois une ligne de t1 est mise a jour, elle est enregistrée dans t2. Je voudrais alors supprimer l'enregistrement mis à jour dans t1.

Débutant_Aimant_JAVA_ET_Netbeans.. Aidez_moi svp
0
Si tu as deux tables qui contiennent les mêmes données, ce n'est pas une bonne idée


Merci ! ca m'a aidé, je l'ai resolu avec un UPDATE. La 2nd table a donc été dropée.
L'autre problème est que lorsque je veux faire un update sur une ligne donnée de ma db, toutes les lignes se mettent à jour. s'il te plait aide-moi encore.... comment faire pour ne mettre a jour qu'une seule ligne a la fois.
  
Connexion2 cn = new Connexion2();// mise à jour HeureDebut_effective, status et ajout de commentaire dans change_request;
       cn.connectdb();
       
       if(cn.connect!=null){ 
           
           
           try {
               String sql="update IGNORE change_request set debut_effectif ='"+debut_Effectif.getText()+"', commentaire='"+comment.getText()+"', status='En cours' WHERE status ='Ouvert'";
               pst=cn.connect.prepareStatement(sql);
               pst.executeUpdate();

           } catch (Exception e) {
               JOptionPane.showMessageDialog(this, e.getMessage());
           }

       }
0
hihihih je viens de trouver! pour ceux que ca pourrait interresser: la condition du WHERE est faite sur la clé primaire.
  Connexion2 cn = new Connexion2();// mise à jour HeureDebut_effective, status et ajout de commentaire dans change_request;
       cn.connectdb();
       
       if(cn.connect!=null){ 
 
           try {
               String sql="update IGNORE change_request set debut_effectif ='"+debut_Effectif.getText()+"', commentaire='"+comment.getText()+"', status='En cours' WHERE initiation_cr_numero_cr ='"+numCR.getText()+"'";
               pst=cn.connect.prepareStatement(sql);
               pst.executeUpdate();

           } catch (Exception e) {
               JOptionPane.showMessageDialog(this, e.getMessage());
           }

       }
0
Rejoignez-nous