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

C++Builder Discussion :

Toujours un problème de rafraichissement de DBGrid


Sujet :

C++Builder

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 213
    Points : 102
    Points
    102
    Par défaut [RESOLU]Toujours un problème de rafraichissement de DBGrid
    Salut,

    Je fait un projet qui utilise interbase comme serveur de base de données, j'ai donc une fiche avec un DBGrid (qui ne sert uniquement à voir toutes les données pas d'encodage possible) j'ai des champs Edit pour introduires mes données et j'utilise un Button pour les transferer par le DBQuery dans ma base de données tous ce passe bien mis à part que mon DBGrid ne se remet pas à jour, ne sachant pas comment faire, pour l'instant je deconnecte mon IBDatabase et je la reconnecte, c'est pas très optimisé!!!! On m'a dit qu'il était possible de le faire plus simplement en fesant un rafraichissemnt de mes champ puis un commit sur ma transaction, mais je ne sais pas comment le faire pourriez vous m'aidez avec un exemple (code).

    Merci d'avance.

  2. #2
    Membre du Club

    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 48
    Points
    48
    Par défaut
    En fait, les données de ta DBGrid sont introduite par un composant TTable ou TQuery ou un dérivée. Quand tu ajoutes des données, il te suffit de faire un rafraichissement de ta TTable ou TQuery et normalement si je ne me trompe pas cela maitra à jour ta DBGrid !

    Ah oui, si tu utilises les composants TIB..., il faut après les insertions valider la TIBTransaction avec la fonction Commit avant de faire le rafraichissement de ton TTable ou TQuery !

    Essaie cela, et je vérifie dans un de mes exemples. Je t'en apporte un plus tard, si tu en as besoin !

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 213
    Points : 102
    Points
    102
    Par défaut Encore une peu d'aide SVP
    J'ai esseyer de faire des Refresh de mon IBTable ou de mon IBQuery et de faire un Commit de mon IBTransaction mais rien à faire, soit rien ne bouge et je suis obliger de sortir et rerentrer dans le programme pour que les modification soit faite soit mon DBGrid efface toutes les données (se ferme) et idem redemarrer le programme.

    Si quelqu'un saurait m'aider à corriger mon code le voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    IBQuery1->Close();
    IBQuery1->SQL->Clear();
    IBQuery1->SQL->Add("insert into employe (emp_nom, emp_prenom) values ('" + Edit1->Text + "' , '" + Edit2->Text + "');" );
    IBQuery1->ExecSQL();
    IBDatabase1->Connected = false;
    IBDatabase1->DefaultTransaction = IBTransaction1;
    IBDatabase1->Connected = true;
    IBTransaction1->Active = true;
    IBTable1->Active = true;
    Edit1->Clear();
    Edit2->Clear();
    Ici je désactive ma IBDatabase et je la réactive (très lent pour peu d'enregistrement donc pour beaucoups je vous fait pas un dessin).

    Merci pour l'aide que vous pourrez m'apporter.

  4. #4
    Membre du Club

    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 48
    Points
    48
    Par défaut
    Desactive plutôt ta TIBTable et réactive là !!!

    Normalement, cela devrait marcher !!!
    Sinon, il doit y avoir une méthode de ta TIBTable qui doit faire le rafraichissement !

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Essai d'utiliser Refresh...
    Je pense qu'en utilisant la propriété Refresh, ton problème sera résolu.
    Voici la synthaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomDeLaBaseDeDonnee -> Refresh();
    Voila. J'espère que ça résolura ton problème. A+.

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

Discussions similaires

  1. [JPanel] Problème de rafraichissement
    Par n00bi dans le forum Agents de placement/Fenêtres
    Réponses: 11
    Dernier message: 04/07/2005, 17h42
  2. [MFC] Problème de rafraichissement,
    Par pykoon dans le forum MFC
    Réponses: 1
    Dernier message: 27/04/2005, 07h21
  3. Problème de rafraichissement.
    Par beyo dans le forum ASP
    Réponses: 5
    Dernier message: 18/03/2005, 16h27
  4. [SWING] Problème de rafraichissement
    Par david71 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 24/05/2004, 15h38
  5. [JTree]problème de rafraichissement
    Par peppena dans le forum Composants
    Réponses: 9
    Dernier message: 20/01/2004, 14h06

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