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

Affichage des résultats du sondage: Trouvez vous des problemes dans la comparaison d'un champ de type Date avec un edit

Votants
3. Vous ne pouvez pas participer à ce sondage.
  • OUI

    0 0%
  • NON

    3 100,00%
  • Je n'ai pas essayer

    0 0%
Bases de données Delphi Discussion :

J'arrive pas à faire la comparaison entre deux Edit contenant une date sous Sql


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut J'arrive pas à faire la comparaison entre deux Edit contenant une date sous Sql
    VOICI TOUS QUI J'AI ESSAYE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Dabse
    FROM absence
    where Dabse between cast ( " maskedit2.text " ) as
    date and cast('maskedit1.text') as date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Dabse
    FROM absence
    where cast (Dabse as date) 
    between cast ( " maskedit2.text " ) as date and 'maskedit1.text'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Dabse
    FROM absence
    where cast ( "Dabse" as date) between cast( " maskedit2.text " )as date
    and 'maskedit1.text'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Dabse
    FROM absence
    where abse <= cast (maskedit1 as date) {resultat rien}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Dabse 
    FROM absence 
    where Dabse > cast ( ''maskedit1'' as date);
    {resultat =tous les données du champ dabse sont affichées,c'est faux la condition (>)n'est pas prise en compte meme resultat s'affiche deux edits ou maskedits
    le champ dabse est de type DATE
    AIDER MOI

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 147
    Points : 184
    Points
    184
    Par défaut
    bonjour
    tu devrais donner d'autres renseignements come par exemble ton SGBD tu es sur que tu poses ta question sur le bon forum ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 147
    Points : 184
    Points
    184
    Par défaut
    Bonjour
    1. la fonction cast s'écrit comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cast ( " maskedit2.text " as
    date)
    et non pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ( " maskedit2.text ") as
    date)
    2. Fais attention car dans ta requete tu mets des doubles quotes et des singles quotes
    3 On met dans la requete les noms des champs et non pas les noms des composants Delphi
    4. si tu veux convertir convertis directment par Delphi comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Var
    D1, D2 : TDate
    Begin 
    D1 := StrToDate(maskedit2.text);
    D2 := StrToDate(maskedit&.text);
    puis tu fais ta requete 
    SELECT Dabse
    FROM absence
    where Dabse between D1 and D2
    bon courage
    Mirmillon

  4. #4
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Messieurs, Merci de penser à utiliser la balise CODE (dans votre message, cliquer sur le symbole dièse (#) pour mettre la zone de code sélectionnée dans des balises codes)

    Pour la comparaison des dates, pourquoi ne pas lire la FAQ ? :
    http://delphi.developpez.com/faq/?pa...lcomparerdates

    Le sondage était-il nécessaire ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 147
    Points : 184
    Points
    184
    Par défaut
    bonjour
    Si tu utilises Firebird tu dois mettre des points pour que Firebird interpréte la date comme un format DD/MM/YYYY voila une requete qui marche sur F1.5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select "ID_PERSONNE","PER_Nom", "PER_Surname", "PER_DateBirth", "PER_Epouse" from T_PERSONNE
    WHERE
    "PER_DateBirth" = '31.01.1914'
    mirmillon

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 147
    Points : 184
    Points
    184
    Par défaut
    Bonjour
    cette requete là marche aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select "ID_PERSONNE","PER_Nom", "PER_Surname", "PER_DateBirth", "PER_Epouse" from T_PERSONNE
    WHERE
    "PER_DateBirth"  BETWEEN  '01.01.1914' AND '08.01.1954'

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 147
    Points : 184
    Points
    184
    Par défaut la solution
    Bonjour et voici la solutionavec F1.5 donc pas de transtypage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var
    DT1 , DT2 : String;
    begin
    DT1 := Edit2.Text;
    DT2 := Edit3.Text;
    IBQuery1.Close;
    IBQuery1.SQL.Clear;
    IBQuery1.SQL.Add('select "ID_PERSONNE","PER_Nom", "PER_Surname", "PER_DateBirth", "PER_Epouse" from T_PERSONNE');
    IBQuery1.SQL.Add('WHERE "PER_DateBirth" ' );
    IBQuery1.SQL.Add(' BETWEEN ' + QuotedStr(DT1) +  ' AND ' + QuotedStr(DT2));
    IBQuery1.Open;
    mirmillon

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/12/2008, 14h20
  2. Je n'arrive pas a faire un controle dans un calcul javascript
    Par carmen256 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 13/07/2006, 10h42
  3. [C#] SQL - je n'arrives pas a faire ma requete
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/07/2006, 14h43
  4. Je n'arrive pas à faire des boucles dans un répertoire
    Par padodanle51 dans le forum Linux
    Réponses: 4
    Dernier message: 04/05/2006, 18h04
  5. [réplication]N'arrive pas à le faire marcher!!!!
    Par mohamed dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/03/2006, 14h29

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