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 :

TAdoQuery et mise à jour après suppression [Non suivi]


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Par défaut TAdoQuery et mise à jour après suppression
    Bonjour, je n'arrive pas à faire une mise à jour de mon TAdoQuery après avoir vider l'ensemble des lignes de ma table (toutes les lignes sont supprimés par des DELETE FROM client where id = ...).

    Concrètement j'ai un composant TAdoQuery qui est positioné sur la table Client. Lorsque j'efface une ligne j'utilise le composant TAdoCommand. Lorsque j'ai encore des lignes dans Client, TQuery pointe sur l'avant dernier enregistrement après la suppression d'une ligne. Mais s'il me reste une seule ligne dans ma table, TQuery ne se met pas à jour.

    La solution que j'ai trouvé est de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Query->Active = false;
    Query->Active = true;
    De cette façon les données sont mises à jour. Mais ma méthode est un peu violente. Si je fais
    J'ai un message d'erreur s'il n'y a plus de lignes dans la table.

    Si quelqu'un voit une solution

    Merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par défaut
    Tu as essayé avec un Requery() plutôt ? Le problème est que tu perds l'enregistrement en cours si tu as encore des lignes.

    Voici ce que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      dbRecords->Post();                    // Save changes
     
      // Update changes
      TBookmark oldRec=dbRecords->GetBookmark();
      dbRecords->Requery(TExecuteOptions());
      if (dbRecords->BookmarkValid(oldRec)) {
        dbRecords->GotoBookmark(oldRec);
        dbRecords->FreeBookmark(oldRec);
      }

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/04/2008, 16h16
  2. Réponses: 3
    Dernier message: 10/05/2007, 07h43
  3. Réponses: 2
    Dernier message: 04/04/2007, 11h14
  4. Réponses: 1
    Dernier message: 28/02/2007, 09h16
  5. Vue non mise à jour après modification d'une table
    Par cybernet35 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2006, 13h54

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