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 :

Aide sur l'utilisation du composant TupdateSQL avec Tquery


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Points : 7
    Points
    7
    Par défaut Aide sur l'utilisation du composant TupdateSQL avec Tquery
    Bonjour,
    Je me perd dans l'utilisation du composant tupdatesql pour modifre, inserrer et effacer des enregistrement à savoir que sur mon formulaire j'ai mis un tquery (résultat d'une recherche par code) pour permettre la modification de l'enregistrement choisi.
    Le problème se poste sur "comment exécuter l'une des trois actions)
    sans vous je me perd
    Merci d'avance

  2. #2
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Points : 7
    Points
    7
    Par défaut Utilisation de TupdateSQL dans Delphi
    En fait j'ai trouvé cette solution sur un autre forum:

    Avec le BDE, pour accèder aux données, on utilises les méthodes des DataSet (famille composée des TTables, TQuery et des TStoredProc) du genre :
    .Insert;
    .Post;
    .Delete;
    .Next;
    .First;
    .Last;
    .FieldByName('nom').AsString := 'Dupond';
    ...
    Or, le TQuery (et le TStoredProc) sont à la différence du TTable en "lecture seule" (ensemble de données non vivants, on dit chez Borland...). Pour contrer ce problème, soit on utilise ta méthode (sauf ton respect : beurk), soit on utilise un complément d'un TQuery : le TUpdateSQL.
    En pratique :
    Le TQuery doit contenir la requete SQL de consultation ("select champ1, champ2, champX from tableY" ...).
    Tu explique à ce composant qu'il doit tout faire pour te proposer un ensemble de données vivant (par défaut, il n'y arrivera pas correctement, mais patience) en passant CachedUpdates à true.
    Pour "l'aider" pour les Insert, Updates et Deletes, place un TUpdateSQL à coté de lui, et lie les deux composants entre eux (propriété UpdateObject du TQuery).
    Reste à configurer le TUpdateSQL en lui donnant les 3 requetes SQL supplémentaires (DeleteSQL, InsertSQL et ModifiySQL).
    La, tu es en droit de m'insulter en te disant "super, tout ca pour que je me tappe quand même des requêtes SQL à tapper ...". Sauf que magie du BDE (pour une fois), tu as un générateur de requetes dans ce composant. Double-clique dessus, et sélectionne ton champs clef (ta clef primaire de table, probablement un index autoincrémenté si tu as bien fait les choses) et la liste des champs quoi peuvent êtres modifiés (en général, tous sauf la clef), et termine en utilisant le bouton "Générer le SQL". Tes requêtes sont écrites (cherche les pour bien comprendre).
    A partir de ce moment, tout accès au DataSet (ton TQuery, donc), qu'il soit fait a partir du code (cf les méthodes que je te donne en haut), ou au travers d'une grille+datasource va automatiquement être fait sur tes données en utilisant les 4 requetes SQL. C'est magique.
    La seule contrainte, c'est qu'il faut que tu "appliques" les modifications en écriture avec 2 lignes de code, sinon elle vont rester dans le TQuery, et ne seront jamais envoyées à la base :
    ex:
    DataModule2.Query1.ApplyUpdates; // on applique
    DataModule2.Query1.CommitUpdates; // on vide le cache
    Désolé si c'est pas clair, mais résumer (et cacher pleins de concepts en si peu de place, c'est pas facile

    Merci à l'auteur de cette réponse que je viens d'essayer et ça marche

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

Discussions similaires

  1. Aide sur l'utilisation des boutons
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 0
    Dernier message: 24/06/2010, 10h55
  2. [SimpleXML] Utilisation
    Par Hightuxdotnet dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 20/08/2008, 10h52
  3. Achat pc desktop, besoin d'aide sur le choix des composants
    Par Matalobos dans le forum Ordinateurs
    Réponses: 29
    Dernier message: 25/08/2007, 23h16
  4. Réponses: 1
    Dernier message: 06/09/2006, 14h21
  5. aide sur création d'un composant
    Par laetus dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/07/2004, 10h45

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