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

C++Builder Discussion :

Effectuer une recherche multi-critères


Sujet :

C++Builder

  1. #1
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Points : 141
    Points
    141
    Par défaut Effectuer une recherche multi-critères
    bonjour,

    j'ai une application qui enregistre des infos dans une base de données.

    j'ai par ex 2 tables, une table adherent, et une table location.

    les adhérents effectuant donc des locations de matériels;

    sur une interface, j'ai développée un système de recherche multi - critères, avec 3 TEdit, 2 TComboBox.

    Toutes les infos que je peux saisir sont déja enregistrée, dans 2 tables distinctes (location et Matériels).
    Je veux donc par exemple trier tous les enregistrements ayant une référence commencant par "23" et ayant le statut "loué ou indisponible".

    j'ai donc fait ce code :

    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
    28
    String RequeteSQL = "";
     
            if(Sender->ClassNameIs("TEdit" ))
            {
                    switch (((TEdit *)Sender)->Tag)
                    {
     
                            case 1:
                                            ObjGestionQuery->RAZCpteur();
                                            ObjGestionQuery->SetRequete("SELECT NumeroMateriel,NomMateriel,CateMateriel,EtatMateriel FROM tmateriel INNER JOIN location ON tmateriel.RefMateriel=location.RefMateriel WHERE tmateriel.NumeroMateriel LIKE (:param) AND location.EtatMateriel LIKE (:param2)");
                                            ObjGestionQuery->AddParametre(Edit_Numero->Text);
                                            ObjGestionQuery->AddParametre("Indisponible");
                                            ObjGestionQuery->ExecRequete();
     
                                    break;
     
                            case 2:
                                            ObjGestionQuery->RAZCpteur();
                                            ObjGestionQuery->SetRequete("SELECT NumeroMateriel,NomMateriel,CateMateriel,EtatMateriel FROM tmateriel INNER JOIN location ON tmateriel.RefMateriel=location.RefMateriel WHERE tmateriel.NomMateriel LIKE (:param) AND location.EtatMateriel =:param2");
                                            ObjGestionQuery->AddParametre(Edit_Nom->Text);
                                            ObjGestionQuery->AddParametre("Disponible");
                                            ObjGestionQuery->ExecRequete();
                                    break;
     
                            default:
                                    break;
                    }
            }
    Ce code réagit sur l'évènement "onchange" des différents TEdit, donc le premier TEdit est le tag numéro 1, etc...

    Donc le premier "Case" correspond au moment ou je veux trier par "numéro" de matériel, donc je saisi un premier chiffre, "1" par exemple, et donc tous les matériels ayant pour numéro qui commence le " 1,10,11" etc... doivent resortir de ma base et être affiché, mais rien ne se passe...

    Je ne sais pas si cela peut provenir de ma requete SQL ou de l'évènement Onchange sur builder...?

    pouvez vous m'aider, voyez vous quelque chose qui cloche..?

  2. #2
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Points : 141
    Points
    141
    Par défaut
    il y avait un problème dans ma requête SQL...

    Lors de l'utilisation du mot clé "LIKE", je ne rajoutai pas le caractère "%" après mon paramètre pour spécifier qu'il manque des caractères après ma saisie...

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

Discussions similaires

  1. [MySQL] Requete SQL pour faire une recherche multi critères
    Par nassing dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/05/2011, 17h01
  2. Traiter le résultat d'une recherche multi-critères
    Par draxweb dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 15/03/2007, 19h00
  3. Trier les réponses d'une recherche multi-critères
    Par bétécé dans le forum Access
    Réponses: 6
    Dernier message: 25/01/2007, 09h56
  4. Effectuer une recherche par critères
    Par Lenalyon dans le forum WinDev
    Réponses: 11
    Dernier message: 10/01/2007, 15h11
  5. exporter le résultat d'une recherche multi-critère ?
    Par Tetsuotil dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 18/07/2006, 17h39

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