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 :

Requête sql et le type date


Sujet :

Bases de données Delphi

  1. #1
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut Requête sql et le type date
    bonjour
    j'ai dans ma table une champ de type date et je peut afficher les information de ce table par date (le critère de filtrage de la date) pour cela, j'ai ajouter DateTimePicker1
    et j'ai écris ce code sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     select * from compte
              where date =:rep
    mais il ne travaille pas

  2. #2
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    On manque d'info.
    Je te conseille de nous donner le type de base utilisée ainsi que la requête SQL générée par ton code...

  3. #3
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut
    j'ai utilise un table de type paradox
    table abs
    num
    num_compte
    date

    et je veux afficher tout les information qui est dans la table avec consition que la date par exemple entre '21-01-2009' et '21-02-2009'
    je sais que pour cet exemple la requête sql est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM abs
    WHERE Date BETWEEN '21-01-2009' AND '21-02-2009'
    mais je peux faire ça avec 2 composant DAtetimepicker
    j'ai pas pu écrire une requête sql juste pour cette idée

  4. #4
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Et c'est quoi qui ne marche pas ?

  5. #5
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut
    la requête qui ne précise pas les dates , les dates sont choisis à partir de
    DAtetimepicker1 et DAtetimepicker2

  6. #6
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Tu peux faire générer ta requète par une fonction de type, dans laquelle tu passe en parametre la date fournie par ton DatePicker :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function sReqSQL(DateIn : TDateTime) : string;
    var
    sReq : string;
    begin
      sReq := 'SELECT * FROM TABLE WHERE DATE >' + FormatDateTime('DD-mm-YYYY',DateIn);
      result := sRes;
    end;

  7. #7
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut
    j'ai pas compris

  8. #8
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Je t'ai fourni une fonction qui te génére une requete SQL si tu lui passe un TDateTime en paramètre.

  9. #9
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut
    non ;c'est une réponse avant de vous termine le code

  10. #10
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Par défaut
    merci pour le code il est utile
    mais dans notre cas on passe 2 dates comme paramètre alors il faut on ajoute 'between' non?

  11. #11
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Je te laisse modifier la fonction suivant les besoins que tu en as.
    Effectivement ça doit te donner une ligne du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sReq := 'SELECT * FROM TABLE WHERE DATE BETWEEN ' + FormatDateTime('DD-mm-YYYY',Date1)+
    +' AND '+ FormatDateTime('DD-mm-YYYY',Date2)
    ;

  12. #12
    Invité
    Invité(e)
    Par défaut requête paramétrée
    tu peux faire différement, 1 datasource 1 query
    tu lies les deux, dans la propriété sql tu tapes le code suivant

    select * from compte where date (:a) ........(:b).....

    query params, tu donnes le type des paramètres (int blob ...)

    ensuite query1.parambyname('a').asdate:=datetimepicker1

    une fois que tout tes params sont "alimentés": query1.open;

    ......mais je ne suis que débutant et je peux me tromper, c'est une solution que je teste en ce moment pour un essai de codage. A+

  13. #13
    Invité
    Invité(e)
    Par défaut requête paramétrée
    ...............
    .................
    ensuite query1.parambyname('a').asdate:=datetimepicker1.date;

    excuse moi pour l'oubli. A+

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

Discussions similaires

  1. Requête SQL localisée pour affichage date/heure
    Par nicoboud2 dans le forum SQL
    Réponses: 1
    Dernier message: 11/05/2007, 10h55
  2. [oracle/sql]pour de type DATE
    Par CROSS dans le forum Oracle
    Réponses: 3
    Dernier message: 18/12/2006, 16h09
  3. Requête SQL de tri par date
    Par Alain15 dans le forum Requêtes
    Réponses: 8
    Dernier message: 03/08/2006, 08h34
  4. [PL/SQL] Déclencheur de type Date
    Par zuzuu dans le forum Oracle
    Réponses: 5
    Dernier message: 24/07/2006, 14h34
  5. [Sql] contrainte sur type date
    Par zchallal dans le forum Oracle
    Réponses: 2
    Dernier message: 19/06/2006, 13h57

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