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

Bases de données Delphi Discussion :

Rafraichir affichage des données


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut Rafraichir affichage des données
    Bonjour à tous,

    J'utilise les composants IBX pour attaquer une base FireBird.

    Sur les conseils trouvés dans ce forum, j'utilise 2 IBtransactions :
    -1 pour l'affichage des données à laquelle sont reliés mes IBQuery.
    -1 pour les mises à jour (ajout, modification, suppression) à laquelle sont reliés mes IBSQL
    IBQuery et IBSQL sont en mode ReadCommited.

    Mes questions sont:

    Quand j'ajoute ou modifie un enregistrement,

    -suis-je obligé de fermer et réouvrir les composants IBQuery pour rafraichir l'affichage des données?
    -pourquoi la méthode refresh ne marche-t-elle pas?
    -pourquoi le rafraichissement ne se fait-il pas seul en mode ReadCommited?

    Merci d'avance pour vos conseils!

  2. #2
    Membre éclairé

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2010
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2010
    Messages : 297
    Points : 705
    Points
    705
    Par défaut
    Le fait de fermer puis ré-ouvrir ton Query a le même effet que refrech.
    personnellement j'utilise les composant zeos pour me connecter à mes bases firebird et dans le composant de connection il y a la propriété Autocommit.
    je pense que il te manque le commit pour valider tes transactions.
    quelle version de firebird utilises tu?

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par MickSou Voir le message
    Bonjour à tous,
    -pourquoi le rafraichissement ne se fait-il pas seul en mode ReadCommited?
    Que veux tu dire par la ?
    Qu'après un Insert/Update/Delete ta requête de sélection n'affiche pas les modifications ?
    Si c'est çà, c'est normal, une requête n'est qu'une vue de la base de données à un instant T, donc toutes les modifications à l'instant T + x ne seront pas vues

    Le ReadCommited indique seulement le niveau d'isolation que tu veux utiliser en lecture (en clair on ne lit que les données qui ont été commitées et pas celles qui sont en cours de modifications)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut
    @Adelmeo: Zeos je ne connais pas. J'ai essayé d'installer les UIBX mais n'ai pas réussi alors me suis retranché sur IBX même si pas conseillé avec Firebird; Pour l'instant je touche du bois ça marche...
    En ce qui concerne le commit il est bien fait. Je voulais juste savoir si j'étais obligé de fermer et ré-ouvrir les requêtes pour voir les modifs apparemment oui!

    @Rayek: Merci c'est ce que je voulais savoir.
    Donc après toutes modification,
    -je commit les MAJ sur ma transaction MAJ
    -je commit la transaction d'Affichage pour rafraichir les données
    -je rouvre mes requêtes d'affichage.
    Vous me confirmez que cela n'est pas se compliquer la vie?

    En ce qui concerne le refresh.... moi il ne marche pas chez moi avec un TIBUpdateSQL. J'essaierai avec un TIBDataSet à l'occasion.

  5. #5
    Membre éclairé

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2010
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2010
    Messages : 297
    Points : 705
    Points
    705
    Par défaut
    Le refresh doit être appliqué a la requête (ou Query) qui affiche les résultat par exemple :"SELECT* FROM table WHERE..." et pas au Query qui exécute des Insert, Delete ou Update.

  6. #6
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    Exactement, si tu veux rafraichir les données tu dois activer une nouvelle transaction pour la lecture ce qui entend : désactiver puis activer ta transaction responsable de lecture des données (SELECT) ce qui va impliquer la fermeture des Objets liés à cette Transaction. Donc en quelque condition qui soit une Fermeture/Réouverture de tes composant et Obligatoire même si des composants utilise la méthode Refresh.
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 125
    Points : 78
    Points
    78
    Par défaut
    Merci à tous! C'est noté!

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/06/2009, 15h53
  2. [Tableaux] Affichage des données par lot
    Par randriarabe dans le forum Langage
    Réponses: 1
    Dernier message: 07/12/2005, 08h23
  3. pb d'affichage des données
    Par new_wave dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 03/11/2005, 17h31
  4. TDBCtrlGrid - Affichage des données
    Par audreyb dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/10/2004, 13h10
  5. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07

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