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 :

Récupérer les résultats d'un UIBQuery


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 45
    Points
    45
    Par défaut Récupérer les résultats d'un UIBQuery
    Bonjour à toutes et à tous,

    Soit une base de données avec les champs 'CATEGORIE', 'QUESTION' et 'REPONSE' gérée sous Delphi avec des composants UIB (Database, Transaction, Dataset et Query) et un Datasource relié à un DBGrid.

    Je lance une requête du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Query.Sql.Clear;
    Query.Sql.Add('SELECT QUESTION FROM TABLE WHERE CATEGORIE=' + quotedstr('CAT1'));
    Query.Execsql;
    Tout se passe bien, j'ai le résultat dans mon DBGrid.

    Comment faire pour récupérer les valeurs du champ 'QUESTION' et les stocker dans une variable ?

    J'ai cherché dans le forum et la FAQ mais les exemples que je trouve ne fonctionnent pas avec les composants UIB:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ShowMessage(Query1.Fields[0].AsString);
     
    Edit1.Text := MaQuery.FieldByName('blabla').AsString;
    Qui aurait la gentillesse de me donner un bout de code exemple avec les UIB pour que je puisse m'en inspirer ???

    Merci à tous

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Query dans ton exemple, c'est bien un TUIBQuery ?

    Si oui, cela donnerait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      with UIBQuery1 do
      begin
        SQL.Clear;
        SQL.Add('SELECT FIRST 1 QUESTION FROM TABLE WHERE CATEGORIE = ?;');
        Params.AsString[0] := 'CAT1';
        try
          Open;
          Edit1.Text := Fields.ByNameAsString['QUESTION'];
        finally
          Close(etmCommit);
        end;
      end;
    Quelques remarques au passage:
    • Avec un SELECT on fait un Open et non ExecSQL (on ne répètera jamais assez).
    • Avec le UIB on utilise Execute pour les requêtes INSERT, UPDATE, DELETE ou requêtes DDL. ExecSQL étant réservé aux scripts.
    • Après la lecture des données, ne pas oublier de faire un Commit.


    Comment faire pour récupérer les valeurs du champ 'QUESTION' et les stocker dans une variable ?
    J'ai ajouté FIRST 1 dans l'exemple de requête, car je ne vois pas comment tu peux stocker de multiples valeurs dans une seule variable.

    @+ Claudius

  3. #3
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 45
    Points
    45
    Par défaut
    Bonsoir Cl@udius et merci pour ta réponse ,

    C'est effectivement un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fields.ByNameAsString['QUESTION'];
    que je cherchais.

    A bientôt...

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

Discussions similaires

  1. récupérer les résultats d'une requete hql
    Par aymen007 dans le forum Hibernate
    Réponses: 5
    Dernier message: 23/08/2007, 17h19
  2. Récupérer les résultats en 2 parties
    Par masseur dans le forum Langage
    Réponses: 3
    Dernier message: 13/02/2007, 14h42
  3. [vb6] Récupérer les résultats d'un shell
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 14/06/2006, 16h57
  4. Réponses: 2
    Dernier message: 31/01/2006, 16h02
  5. Réponses: 5
    Dernier message: 05/10/2004, 13h05

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