Suppression automatique d'une ligne de tableau [Résolu]

Signaler
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
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
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
325
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));
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
325
Et ensuite pour supprimer la ligne i :
((DefaultTableModel)(table.getModel())).removeRow(i);
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
325
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
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
325
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+
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
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());
           }

       }
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());
           }

       }