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 :

[JTable] Actualiser apres requete sql


Sujet :

Composants Java

  1. #1
    Membre régulier Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Points : 108
    Points
    108
    Par défaut [JTable] Actualiser apres requete sql
    salut.
    j'ai une JTable qui représente les données d'une table de base données ...
    mon probleme c'est que je veux que cette derniere s'actualise si j'execute une requete de supression par exemple...
    est ce que je dois changer de modele a chaque fois que je fais des operations ?
    merci

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah tout dépend, tu peux aussi envisager de simplement retirer la ligne du modèle au moment ou tu lances ta suppression...

  3. #3
    Membre régulier Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Points : 108
    Points
    108
    Par défaut
    ok...et pour l'ajout d'une entrée ou d'un update d'une ligne ?
    si j'ai bien compris c'est le modèle que je dois modifier a chaque fois .

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah ouais, vu que tu sais ce que tu ajoutes dans la BD, pas forcément besoin de refaire tourner la requête, c'est tout de même beaucoup plus rapide de ne faire qu'un petit ajout à ton modèle

    De toute façon le travail avec le modèle est obligatoire dès que tu touche de façon un tout tout petit peu avancée à une JTable

  5. #5
    Membre régulier Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Points : 108
    Points
    108
    Par défaut
    salut.
    bon pour les ajouts et les suppressions c'etait pas trop compliqué avec les instructions addRow et removeRow .
    mais la j'ai besoin de faire un truc peu plus difficile....en fait j'ai dans une fenêtre deux JTable qui représentent des données de deux tables dans ma bd.
    l'une est pour une table "patient" et l'autre est pour une table "consultation"
    alors ce que je veux faire c'est que dans la table consultation on a les consultations qui appartiennent au patient sélectionné dans la 1er table ....
    c'est clair que je dois à chaque fois lancer une requête...mais comment je fais pour le modele ....est ce que dois creer a chaque fois un nouveau ....ou est ce que il faut vider l'ancien ?
    et plus je crois que le setmodel peut etre utilisé une seule fois alors comment je peux faire?
    merci

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pour ça il vaut mieux récréer le modèle, et la méthode setModel peut être utilisée autant de fois que tu veux.

    Par contre penses à gérer tes requêtes en dehors du thread graphique, cf http://gfx.developpez.com/tutoriel/j...ing-threading/

  7. #7
    Membre régulier Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Points : 108
    Points
    108
    Par défaut
    salut.
    merci sinok pour tes reponses ...
    Mais je viens de trouver un problème avec les suppressions.
    dans le cas ou je viens de faire une entrée dans ma base..et donc j'ajoute une ligne dans le modele avec les entrées correspondantes ...sauf l'index qui lui est généré automatiquement par la bd (auto increment)
    donc pour l'instant je ne peux pas le connaitre ! (il faut reouvrir la fenetre pour
    lancer de nouveau la requete)
    et si l'utilisateur décide supprimer cette entrée ca va se bloquer...puisque je connais pas encore l'index donc je peux pas faire ma requete !!!
    j'espere que le probleme est clair.
    merci

  8. #8
    Membre régulier Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Points : 108
    Points
    108
    Par défaut
    j'aurais pas dû se précipiter
    je viens de trouver la solution :
    c'est vrai que je connais pas l'index des nouvelles entrées mais je peux le deviner puisque c'est de l'auto increment ....il suffit de prendre le dernier index et de l'incrementer a chaque ajout de ligne !!
    voila c'est tout bête.
    bon je me retourne vers les choses sérieuses(les deux tables) encore une fois !

    et la voila une bonne question
    comment je peux déclencher un événement si je clique sur une ligne d'une JTable ? parceque a cet instant j'ai besoin de lancer une requete et de creer un model !

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par sinok Voir le message
    Par contre penses à gérer tes requêtes en dehors du thread graphique, cf http://gfx.developpez.com/tutoriel/j...ing-threading/
    Je suis en train de lire tous le forum Jtable et je tombe sur ce commentaire.
    Comment peut on charger/re-charger le dataModel d'une Jtable sans déclencher tous les évents lié a l'affichage comme fireTableDataChanged?

  10. #10
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par murgen23 Voir le message
    Comment peut on charger/re-charger le dataModel d'une Jtable sans déclencher tous les évents lié a l'affichage comme fireTableDataChanged?
    Ce n'est pas possible, un changement de model déclenchant des Events à coup sûr.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Humm... Il doit bien y avoir un moyen quand un fait plusieurs update au datamodel d'empecher les fire de se propager a chaque fois. Je cherche un mechanisme similaire au 'commit' des DB applique a Jtable

  12. #12
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pour ta JTable le commit correspond justement aux méthodes fireXXX.
    A toi de les utiliser correctement dans l'implémentation que tu as fait de ton TableModel. Basiquement, le principe est d'avoir des méthodes dans ton TableModel qui mettent à jour les données de ton modèle à ta guise et qui une fois la mise à jour des données effectuées déclenchent un des méthodes adaptée, fireTableRowsInserted, fireTableRowsUpdates & cie.

Discussions similaires

  1. [MySQL] Après requete SQL, rien ne veut pas afficher
    Par robinmaret dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 23/09/2009, 15h47
  2. Affichage d'image après requete SQL
    Par princesse95 dans le forum Langage
    Réponses: 11
    Dernier message: 01/04/2009, 19h31
  3. [AJAX] Actualisation auto d'un div apres requete sql
    Par philippe_jmh dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2008, 02h14
  4. [Tableaux] affichage tableau php apres requete sql count
    Par heteroclite dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2006, 21h53
  5. Problèmes d'espaces après requete SQL
    Par innosang dans le forum Bases de données
    Réponses: 7
    Dernier message: 29/04/2004, 17h47

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