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 :

Effectuer une requête


Sujet :

Bases de données Delphi

  1. #21
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 906
    Points : 6 031
    Points
    6 031
    Par défaut
    ce qui donne dans le OnChange du Edit
    ça c'est pas bon...
    en effet, à chaque modification du Tedit, tu déroules le code et la requète !

    Il faut prévoir un bouton et mettre tout ce code dans la procédure OnClick de ce bouton "Rechercher" (par exemple)
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  2. #22
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    Citation Envoyé par qi130
    ça c'est pas bon...
    en effet, à chaque modification du Tedit, tu déroules le code et la requète !
    effectivement sauf si vous executé une procedure stokée
    Citation Envoyé par qi130
    Il faut prévoir un bouton et mettre tout ce code dans la procédure OnClick de ce bouton "Rechercher" (par exemple)
    ou plutot utilse locate dans onchange
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #23
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Points : 241
    Points
    241
    Par défaut
    Et en mettant un SQL.Clear ?
    Vu qu'il y a a chaque appel un close et un open, plus un clear..?

    Pour le bonton ok, mais je cherche à mettre en place un système de recherche où l'utilisateur n'a pas à cliquer sur un bouton, mais doit réagir à la simple entrée de mot(s) saisis par l'utilisateur. (comme dans l'aide de delphi)...

    Ce qu'il me faut juste savoir pour l'instant, c'est la manière dont il faut renseigner le query ainsi que le moyen de procéder pour effectuer la comparaison entre le/les mot(s) saisis dans la zone d'edit par l'utilisateur.

    Dans la propriété de mon Query (l"editeur de commande SQL), j'ai placé le texte suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT *  FROM FLORE
    WHERE Upper(BASEANALYS) LIKE +'%';
    Après je rend mon composant Query actif, ce qui me permet d'arriver à l'éditeur de champs, ou je rajoute mon champs [BASEANALYS]

    Mais maintenant je cherche le moyen de lui dire :
    -> 1]si Edit = Mot(s) trouvé dans un des champs memo
    -> 2]alors m'afficher dans un DBlistbox le descriptif repéré pouvant faire référence à la recherche
    -> 3]et lorsque l'on clique sur une ligne de cette fameuse DBlistbox, qu'il me donne plus de descriptif à l'aide du DBMemo...

    Un dessin étant plus parlant...
    -Premier écran : l'utilisateur saisie le mot feuille, le programme trouve tous les memos dont le nom feuille a été rencontré. Ici il en trouve 3.. donc il mentionne dans mon listbox les 3 occurences trouvés.

    -Deuxième écran : lorsque l'utilisateur clique sur une des ligne du listbox, il aura plus de précisions dans la zone de mémo..

    -Troisième et dernier ecran en exemple : c'est parce que l'utilisateur a saisie le mot verte et que le programme a rencontré quelque part ce mot dans un des champs memo qu'il va me l'afficher dans le listbox, et une fois de plus en cliquant sur le listbox, il m'affiche dans le mémo en bas son déscriptif..

    Le programme fonctionne en base de données MyBase, j'ai fait par codage..
    La seule difficulté à laquelle je me heurte..c'est lorsque l'utilisateur saisie plus d'un mot exemple : plante verte.
    Dans ce cas mon programme a quelques limites c'est à dire qu'il me répète dans le listbox les occurences "plante" et "verte" à cause de boucles dans le programme (et malgré effacement du listbox..) Ce qui fait que je me retrouve pour par exemple 3 mots de saisies avec plus de 10 lignes répétitives dans le listbox..
    Aussi pour me simplifier la taches, j'avais pensé au query et à le faire sous Firebird...vu que MyBase ne gère pas le sql...
    Images attachées Images attachées    

  4. #24
    Membre actif
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Points : 241
    Points
    241
    Par défaut
    Bonjour à tous,
    ça y est...j'ai mit du temps... c'est bon j'ai compris..
    En utilisant un DBGrid, le résultat de ma/mes requetes s'affichent, contrairement au dblistbox que j'utilisait..
    Reste d'autres questions que je poserais lors de nouveaux treads...

    Merci à tous..
    Mise en place tu tag "Resolu"
    a+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/04/2007, 16h54
  2. Comment effectuer une requête http post ?
    Par Turtle_fr dans le forum 4D
    Réponses: 10
    Dernier message: 07/09/2006, 01h25
  3. Réponses: 4
    Dernier message: 06/09/2006, 14h04

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