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 :

requete sql pas sans résulta


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Par défaut requete sql pas sans résulta
    salut
    voila j'ai 3 table crée avec paradox filiere inscrit etudiant je fais une jointure de ces 3 table ce que je veus ces une rechere par la date d'inscription(date_ins) et metre le résultat dans un dbgrid
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select *
    from etudiant , filiere , inscrit 
    where inscrit.num_ins=etudiant.num_ins
    and inscrit.code_fil=filiere.code_fil
    and  date_ins=:u 
    order by date_ins
    je vais sur la proprite onklick du boutton recherche et je mais
    code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    begin
    query1.open;
    query1.params[0].value:=dbedit2.text;
     end
    ça donne rien ..... merci de votre aide

  2. #2
    Membre confirmé Avatar de abdelghani_k
    Inscrit en
    Octobre 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2002
    Messages : 184
    Par défaut
    Attention !!!
    Il faut d'abord passer les paramètres puis ourvir la requête
    ton code sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    begin 
    query1.close; 
    query1.params[0].value:=[b]edit2.text[/b]; // et il ne faut pas utiliser un dbedit query1.open; 
    end;
    En plus :
    Utiliser AsDateTime au lieu de Value et formater les valeur des paramètres en TDateTime par la fonction StrToDate comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DataModule2.Query1.ParamByName('Date1').AsDateTime:=
    StrToDate(Edit2.Text);
    Bonne chance.

  3. #3
    Membre confirmé Avatar de abdelghani_k
    Inscrit en
    Octobre 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2002
    Messages : 184
    Par défaut
    pardon
    query1.open; était sur la ligne du commentaire

    c'est plutôt comme ça :

    begin
    query1.close;
    query1.params[0].value:=edit2.text;
    query1.open;
    end

  4. #4
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Par défaut
    merci pour vous réponce
    voila j'ai fais tout ce que vous avez dis ça marchai alors j'ai fais quelque changement :
    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select *
    from inscrit,teudiant
    where inscrit.num_ins=etudiant.num_ins
    and date.ins=:a
    la ça marche mais quand j'ajoute une 3 table et que je fais une jointure
    code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select *
    from inscrit,etudiant ,filiere
    where inscrit.num_ins=etudiant.num_ins
    and inscrit.code_fil=filiere.code_fil
    and date.ins=:a
    and code.fil=:c
    comme vous avez compri je veus fair une recherche avec 2 parmetre la date et le code_fil
    merci pour toute aide


    FRANK

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    La question elle est ou la ?

    Sinon ton code ecrit différemment et qui aura de meilleure performance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select * from 
      (inscrit as i inner join etudiant as e on i.num_ins=e.num_ins) 
        inner join filiere as f on i.code_fil=f.code_fil
    where date.ins=:a and code.fil=:c
    Chose que je comprend pas trop :
    - Date.ins pourquoi tu utilises la table Date dans ta requete alors que tu ne fais pas appel à elle dans la jointure ?
    - Idem avec code.fil ?

    Erreur de frappe ? ca serait pas plutot i.Date_ins et i.Code_fil (si on prend ma transcription)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. SAGE X3 V6 : Requete SQL Article sans Article site
    Par Gilvéga dans le forum SAGE
    Réponses: 2
    Dernier message: 03/04/2015, 16h49
  2. requete sql pas executée
    Par emilien-c dans le forum DB2
    Réponses: 8
    Dernier message: 03/08/2011, 09h09
  3. requete sql tourne sans fin
    Par hammag dans le forum SQL
    Réponses: 10
    Dernier message: 03/12/2009, 18h59
  4. Requete SQL ; pas si simple ?!
    Par lamaison dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/09/2007, 10h14
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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