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 :

Passer les valeurs distinctes d'un SQL dans un combobox


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Mars 2002
    Messages : 230
    Par défaut Passer les valeurs distinctes d'un SQL dans un combobox
    Bonjour,
    Je veux passer le résultat d'une requete dans un combobox.
    Le code fonctionne tres bien sous delphi, mas ne me retourne rien sous Lazarus, même si apparament il n'y a pas de fautes.
    Est ce que quelqu'un peut me dire si il y a une faute de syntaxe ?
    Merci
    Jean Christophe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    procedure TForm_Timbres.SQLLand ;
    var
    Max,min : integer;
    Begin
    Temp := 'SELECT DISTINCT cataloguecountry FROM ' + Kataloget + ' ;' ;
    If SQLKatalog_element.State <> dsInactive then SQLKatalog_element.Close ;
    SQLKatalog_element.SQL.Clear ;
    SQLKatalog_element.SQL.Add(temp);
    SQLKatalog_element.Prepare;
    SQLKatalog_element.Open;
    SQLKatalog_element.Active:= true ;
       with CmbBx_Land do
       Begin
    Max := SQLQuery_Katalog.RecordCount;
    SQLKatalog_element.First;
    for Min := 1 to Max do
           begin
           if SQLQuery_Katalog.Fields[0].value <> null then
               Begin
               items.Add ( SQLQuery_Katalog.Fields [0].Value ) ;
               SQLKatalog_element.Next;
               end
               else SQLKatalog_element.Next;
           end;
       end;
    end;

  2. #2
    Membre chevronné

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Par défaut
    A ta place je mettrais un point d'arrêt sur la ligne :

    if SQLQuery_Katalog.Fields[0].value <> null then

    et j'afficherais la fenetre de debogguage concernant les variables locales :
    CTRL + ALT + L

    Ainsi, en t'arrétant sur cette ligne de code précise et en verifiant à chaque boucle les valeurs passées, tu trouveras certainement la réponse à la non mise à jour de ton combobox.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Par défaut
    Salut Jean Christophe,

    Je ne sais pas quelle version de Lazarus tu utilises, cependant depuis la 0.9.25, les composants affichent uniquement des chaines de caractères en UTF8, ce que ton query ne renvoie pas, ça serait trop facile !

    Si tu est en 0.9.25 ou >, va voir ceci http://www.developpez.net/forums/d61...ext-ttreenode/, j'ai également été confronté au pb.

    @+

    Dnode57.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Mars 2002
    Messages : 230
    Par défaut
    Je tourne sous 0.9.24

    En fait le probléme vient en partie de ma syntaxe, mais ca j'ai réussi á corriger, et en partie de MySQL qui ne veux pas me retourner la requete "select distinct ...".

    J'ai ouvert un nouveau poste sur le forum MySQL, mais je crois que je suis dans la m....

    Voila oú j'en suis.

    Merci pour le coup de main.
    Jean Christophe

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Par défaut
    Salut JC,

    Ta requête SQL n'est pas un modèle du genre , mais elle n'est pas fausse non plus. Simple petite remarque concernant RecordCount, cette propriété ne renvoie pas la totalité des enregistrements sélectionnés, ne me demande pas pourquoi, c'est ce que j'ai constaté lorsque j'utilisais cette propriété, un bug certainement, je n'ai pas encore vérifié sur le forum ou le bug tracker de FreePascal.

    Pour éviter de jongler avec les boucles For...To, tu peux essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    with CmbBx_Land do
       Begin   
            SQLKatalog_element.First;
            While Not(SQLKatalog_element.Eof) do
                   begin
                        if SQLQuery_Katalog.Fields[0].value <> null then
                           items.Add(SQLQuery_Katalog.Fields[0].Value);
                        SQLKatalog_element.Next;
                   end;
       end;

  6. #6
    Membre émérite
    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 : 57
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Par défaut
    Jean Christophe

    Je t'avais répondu sur l'autre furum
    LOL

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/06/2011, 00h00
  2. [Encodage] Passer les valeurs de 2 dropbox dans un input type=text
    Par jean christophe dans le forum Langage
    Réponses: 3
    Dernier message: 18/02/2011, 09h15
  3. Decompter les valeurs distinctes dans une colonne selon critéres
    Par neo79 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/08/2010, 22h17
  4. Réponses: 9
    Dernier message: 27/07/2010, 14h30
  5. Récupérer les valeurs d'une requête SQL dans un champs html SELECT
    Par tamiii dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/11/2007, 13h27

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