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 :

tri par rapport à la date


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 49
    Points : 48
    Points
    48
    Par défaut tri par rapport à la date
    Bonjour j'aimerais avoir des rectifications concernant ces codes (Trie par rapport à la date)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Req.sql.clear ;
    Req.sql.add('SELECT * FROM VENTE WHERE DATEVEN BEWTEEN '+QuoteDstr(DateToStr(DAT1.TEST)+' AND '+QuoteDstr(DateToStr(DAT2.TEST)+');
    req.open
    Le problème c'est que cette requête ne renvoie aucun enregistrement peu importe les deux dates
    J'ai encore éssayé celui-çi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Req.sql.clear ;
    Req.sql.add('SELECT * FROM VENTE WHERE DATEVEN >='+QuoteDstr(DateToStr(DAT1.TEST)+' AND DATEVEN <= '+QuoteDstr(DateToStr(DAT2.TEST)+');
    req.open
    Celui-i aussi ne renvoie aucun enregsitrement.

    J'ai éssayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Req.sql.clear ;
    Req.sql.add('SELECT * FROM VENTE WHERE DATEVEN >='+QuoteDstr(DateToStr(DAT1.TEST)+');
    req.open
    Celui-i aussi ne renvoie aucun enregsitrement.


    J'ai éssayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Req.sql.clear ;
    Req.sql.add('SELECT * FROM VENTE WHERE DATEVEN <='+QuoteDstr(DateToStr(DAT1.TEST)+');
    req.open
    Celui-i renvoie tous les enregsitrements.

    Je voudrais savoir comment rendre fonctionel toutes ces requêtes

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Pour les dates je te conseille d'utiliser une requête paramétrée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    with Req do
    begin
      sql.clear ;
      sql.Add('select * from VENTE where DATEVEN between :DateDebut AND :DateFin');
      ParamByName('DateDebut').AsDate := DAT1.TEST;
      ParamByName('DateFin').AsDate := DAT2.TEST;
      Open;
    end;
    @+ Claudius

  3. #3
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    1) je vous conseil l'utilisattion des paramètres.
    2) utilise la balise Code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Req.sql.clear ;
    Req.sql.add('SELECT * FROM VENTE WHERE ( DATEVEN BEWTEEN :DateDu AND DateAu)';
    req.paramByName('DateDu').Value := DAT1.TEST
    req.paramByName('DateAu').Value :=  DAT2.TEST
    req.open
    Attention :
    si vous utiliser ADOQuery sa sera.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    req.Parametres.paramByName('DateDu').Value := DAT1.TEST
    req.Parametres.paramByName('DateAu').Value :=  DAT2.TEST
    Si vous utiliser Access la date est au format mm/dd/yyyy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    req.Parametres.paramByName('DateDu').Value :=FomatDateTime('mm/dd/yyyy',DAT1.TEST);
    req.Parametres.paramByName('DateAu').Value :=FomatDateTime('mm/dd/yyyy',DAT2.TEST);

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

Discussions similaires

  1. realiser un tri par rapport aux dates
    Par le_viet dans le forum Général VBA
    Réponses: 3
    Dernier message: 24/04/2007, 15h05
  2. Réponses: 7
    Dernier message: 05/04/2006, 11h22
  3. [MySQL] Select count par rapport à une date
    Par ruty dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 02/04/2006, 22h17
  4. [FLASH 8] Tri d'un dataGrid par rapport à la date
    Par aldo-tlse dans le forum Flash
    Réponses: 4
    Dernier message: 02/12/2005, 17h34
  5. [FLASH 8] DataGrid - tri par rapport à la colonne
    Par aldo-tlse dans le forum Flash
    Réponses: 10
    Dernier message: 02/12/2005, 16h28

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