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 :

Accés au données de la requête Query


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2011
    Messages : 177
    Points : 111
    Points
    111
    Par défaut Accés au données de la requête Query
    Bonjour,

    j'ai la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    with Query1 do
    begin
    Close;
    SQL.Clear;
    SQL.Add('Select nom, prenom, lieu, date from table1' );
     
    Prepare;
    open;
    end;
    Query1.Open;
    Query1.First;
    Maintenant je cherche comment accédées aux données de la requête sans passé par dbedit ou les textedit !

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonsoir,

    le prepare est en trop

    pour accéder aux données Query.FieldByName('nomcolonne').as<Type> ou Query.FieldByName('nomcolonne').Value

    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nom : String;
    d : TDateTime;
    begin
    nom:=Query1.FieldByName('nom').asString;
    d:=Query1.FieldByName('Date').asDateTime;
    PS. 'date' est généralement un nom réservé dans les SGBD il vaut mieux utiliser un autre nom de colonne i.e Date_Naissance
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    Bonsoir,
    Comme il peut y avoir plusieurs lignes de réponse à une requête, il faut en plus sélectionner le premier enregistrement retourné puis boucler sur l'ensemble des enregistrements :

    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Query1.Fields.DataSet.FindFirst;
     
    while NOT Query1.Fields.DataSet.Eof do
      begin
        // avec par ex. nom[] et ddn[] des array de longueur = RecordCount 
        nom[i] := Query1.FieldByName('nom').AsString;
        ddn[i] := Query1.FieldByName('date_naissance').AsDateTime;
     
        Query1.Fields.DataSet.Next;
        inc(i);
      end;
    "Je n'ai jamais rencontré d'homme si ignorant qu'il n'eut quelque chose à m'apprendre."
    Galilée

  4. #4
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    Re-Bonsoir

    regarde dans la ici

    "Je n'ai jamais rencontré d'homme si ignorant qu'il n'eut quelque chose à m'apprendre."
    Galilée

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

Discussions similaires

  1. Enregistrer les données d'une requête SQL Query sur une autre table
    Par LE MAHJONG dans le forum Bases de données
    Réponses: 4
    Dernier message: 23/09/2008, 20h02
  2. Réponses: 6
    Dernier message: 30/07/2007, 15h48
  3. [VBA-A]Acces aux données d'une requête Access
    Par Yanmeunier dans le forum VBA Access
    Réponses: 7
    Dernier message: 28/02/2006, 12h21

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