IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Parcourir une Jtable et récupérer les valeurs


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de japhettchabao
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 86
    Par défaut Parcourir une Jtable et récupérer les valeurs
    Bonsoir, il est 21h chez moi ; je suissur un logiciel que je developpe en java avec netbeans pour ma daronne ; le problème c'est que j'éssaie de parcourir un tableau et de recuperer des valeurs pour ensuite effectuer des mises à jour dans la bdd. et je crois que ce morceau de code pose problème. La table s'appelle facture. Coordialement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    int i = facture.getColumnCount();
             for (int j = 0; j < i; j++) {
                 int quantite_acheter = Integer.parseInt(facture.getValueAt(facture.getSelectedRow(),0).toString());
                  String nom = facture.getValueAt(facture.getSelectedRow(), 1).toString();
                  String marque = facture.getValueAt(facture.getSelectedRow(), 2).toString();
                  String taille= facture.getValueAt(facture.getSelectedRow(), 3).toString();
                    String upd = "select * from articles where nom='"+nom+"'taille = '"+taille+"' marque ='"+marque+"' ";
     
            try {
                rq.connexion();
     
                ResultSet res = rq.executer(upd); 
                int id =res.getInt("id");
                int quantite_actu =res.getInt("stock");
                int new_stock = quantite_actu - quantite_acheter;
                String enf = "update article set stock ='"+new_stock+"' where id ='"+id+"'";
                rq.modifier(enf);
     
            } catch (SQLException e) {
                JOptionPane.showMessageDialog(null, "");
            }
                }

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Je ne sais pas de quel problème tu parles, puisque tu ne le décris pas.

    Mais voilà ce que je peux voir rapidement :


    1. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      int i = facture.getColumnCount();
               for (int j = 0; j < i; j++) {
      Tu fais une boucle sur les colonnes : donc le code dans le bloc du for est fait autant de fois qu'il y a de colonnes. Comme ce code ne dépend pas de j, tu exécute plusieurs fois la même chose, alors qu'une seule fois suffit (ça fait la même chose autant fois de qu'il y a de colonnes).
    2. facture.getValueAt(facture.getSelectedRow()/*...*/Avec ce code, tu récupères la valeur de la ligne sélectionnée. Si ton but est de parcourir l'ensemble de la table, il faudrait boucler sur les lignes :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      int i = facture.getRowCounr();
      for(int j = 0; j<i; j++) {
      Et faire facture.getValueAt(j/*...*/
    3. int quantite_acheter = Integer.parseInt(facture.getValueAt(facture.getSelectedRow(),0).toString());Cette double conversion ne sert à rien. Il suffirait de caster pour récupérer la valeur.
    4. Tu devrais regarder les PreparedStatement, au lieu des Statement : ils sont plus simple à utiliser avec les paramètres (pas besoin de faire des concaténations, de se soucier des quotes) et en plus empêche l'injection SQL.
    5. Plutôt que de chercher à retrouver l'id par un select, tu devrais avoir à disposition cet id en mémoire (non seulement tu économiserais un SELECT, mais en plus, tu n'aurais pas de souci en cas de doublon). Pour ce faire, il faut faire une classe qui représente une ligne (un simple pojo avec getter et setter, servant de bean) et faire un modèle de table spécifique.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre confirmé Avatar de japhettchabao
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 86
    Par défaut euh je me noie là
    merci de ton aide mais pour tout avouer, je suis pas fort en java. mais j'ai essayer de bricoler un truc parce que c'était urgent. je prendrai le temps pour approfondir mes connaissances mais pour l'instant le problème est que le tableau facture contient des donnees designation quantite ... le logiciel marche bien, sauf que j'arrive pas à diminuer la quantité acheter sur le stock actuel de la base de donnees. je voudrais avoir une boucle qui parcours le tableau facture et recupere la quantité achetée puis fasse un update du stock pour chaque article se trouvant dans ce tableau. En espérant avoir éclairci mon problème, Coordialement

  4. #4
    Membre confirmé Avatar de japhettchabao
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 86
    Par défaut La bricole, c'est pas si mal
    J'ai bricoler cousi cousa et j'ai trouvé. Je sais que c'est pas de la programmation pour être embauché chez microsoft mais sa marche. merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperer les valeurs d'un tableau
    Par Mme Idel dans le forum Langage
    Réponses: 2
    Dernier message: 19/04/2012, 13h31
  2. [AC-97] Recuperer les valeurs d'un Sous Formulaire Tableau
    Par Dewey12 dans le forum IHM
    Réponses: 5
    Dernier message: 04/04/2012, 14h07
  3. Recuperer les valeurs d'un string dans un tableau
    Par lasrevinu dans le forum C#
    Réponses: 4
    Dernier message: 12/04/2010, 15h57
  4. recuperer les valeurs d un tableau
    Par nypahe dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 21/10/2008, 21h54
  5. Réponses: 7
    Dernier message: 27/05/2008, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo