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

Lazarus Pascal Discussion :

Récupérer des informations après un SELECT [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 17
    Points : 19
    Points
    19
    Par défaut Récupérer des informations après un SELECT
    Bonjour à tous,
    Ci-après un petit bout de code pour visualiser ma question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with Sqlite3Dataset1 do begin
         FileName:='ma_base';
         TableName:='ma_table';
         Open;
         SQL:='SELECT ma_colonne FROM ma_table where macolonne = "mon_argument"';
         ExecSQL;
         ==> 	ici j'aimerais récupérer les informations de la table pour les placer dans un memo par exemple ou dans une liste
    	 Close;
    end;
    Comme expliqué, comment faire pour récupérer les données du SELECT ?
    Dans quoi Lazarus les met-il ? Dans quel composant puis-je retrouver ces informations ?

    Merci à tous pour vos réponses.

  2. #2
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Au risque de passer pour un casse-pied ! La moindre recherche permet de répondre à votre question. Plusieurs post traitent de ce sujet

    Un petit effort svp

  3. #3
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour,

    Le Chris fait sa crise... mais il aurait été plus intéressant qu'il dise où peut-on trouver l'information. J'ai cherché et ce n'est absolument pas évident à trouver pour un débutant qui parle mal anglais, notamment s'il ne sait pas que Delphi a copié Lazarus et que sa doc est généralement valable

    http://wiki.lazarus.freepascal.org/index.php?title=Using_Dataset_and_Field_components

    En réponse à ta question, récupère le résultat dans la propriété Fields de ton dataset (Query ou Table). C'est un tableau indexé à partir de l'indice 0, Il existe plusieurs moyens qui sont détaillés dans la documentation de l'objet TFields.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sqlite3Dataset1.Open ;
    If not Sqlite3Dataset1.Eof then
      begin
      PremierChamp := Sqlite3Dataset1.Fields[0].Value ;
      DeuxiemeChamp := Sqlite3Dataset1.Fields[1].Value ;
      end ;
    Variante 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PremierChamp := Sqlite3Dataset1.Fields[0].AsString ;
    Qui présente l'avantage de détecter une grave erreur de type à la compilation, plutôt qu'à l'exécution.

    Variante 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PremierChamp := Sqlite3Dataset1.FieldByName('ma_colonne').Value ;
    En supposant que tu aies créé les champs dans ton dataset. Je n'ai eu que des ennuis avec ça et je préfère la première notation parce que la définition des noms de champs SQL est proche de leur utilisation.

    Je ne connais pas SqlLite, mais il me semble que tu dois assigner la propriété SQL avant d'ouvrir le dataset, et que l'instruction ExecSql n'a pas lieu d'être ici.



    Espérant de permettre d'avancer.

    Bon courage,
    Tintinux
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Peut-être un vieux "post" pourra-t-il vous aider ?
    http://www.developpez.net/forums/d70...ion-tsqlquery/

    Bonne journée.
    Cordialement. Gilles

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Bonjour à tous,
    Merci à tintinux et à selzig.
    Comme me le conseillait chris37, j'ai bien essayé avant de poster, d'effectuer une recherche...C'est pas aussi évident. Bien sûr pour quelqu'un qui connait le sujet à fond cela ne pose pas de problème. Raison pour laquelle les forums existent. N'est-il pas?

    Enfin j'ai mes infos encore merci tintinux. Ca fonctionne nickel .
    Bonne journée

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/05/2011, 14h47
  2. Réponses: 3
    Dernier message: 27/04/2007, 16h31
  3. Récupérer des informations sur les connexions réseau
    Par Leobaillard dans le forum Delphi
    Réponses: 8
    Dernier message: 31/08/2006, 01h20
  4. Récupérer des Informations sur un PC via un Réseau ?
    Par MaTHieU_ dans le forum Administration
    Réponses: 6
    Dernier message: 22/11/2005, 12h39
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

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