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

 Delphi Discussion :

requette sql avec la fonction days between


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 89
    Points : 49
    Points
    49
    Par défaut requette sql avec la fonction days between
    slt tous le monde

    j'aimerais s'avoir comment mettre ou comment exécuter une requette sql avec
    deux datetimepicker.

    je explique : je suis entrain de mettre en place une application pour une gestion des ordres de mission sous delphi 7, et il me reste que les états de sorties, j'aimerais faire une recherche pour trouver les ordres de mission non payés, et la recherche se fait entre deux dates (datetimepicker1 et 2) via le champ date_ordmiss


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ('SELECT * from ordremission WHERE ordremission.rembours=''Non'' and ordremission.date_ordmiss between  '+DateTimeToStr(datetimepicker1.Date)+'and '+DateTimeToStr(datetimepicker2.Date)+'');
    merci.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 426
    Points : 24 790
    Points
    24 790
    Par défaut
    Comme tu n'as pas indiqué le SGBD, il est difficile de connaitre le format de Date supportée et le délimiteur comme ' ou " selon les SGBD
    Car tu as oublié le délimiteur de date " par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '...between  "'+DateTimeToStr(datetimepicker1.Date)+'" and "'+DateTimeToStr(datetimepicker2.Date)+'"');
    En utilisant ParamByName comme dans filtré par dates et groupement

    En utilisant QuotedStr comme dans filtrage d'une table par date
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 89
    Points : 49
    Points
    49
    Par défaut
    j'utilise sql 2000 server et delphi 7 avec le composant query de la palette BDE

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    le mieux , dés qu'il s'agit de dates est d'utiliser une requête paramétrée . La principale raison, le format de la date n'est pas forcément le même entre celui du poste et celui de la sgbd


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * from ordremission WHERE ordremission.rembours=''Non'' and ordremission.date_ordmiss between :DD AND DF'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Query.Active:=false;
    Query.ParamByName('DD').asDateTime:=datetimepicker1.Date;
    Query.ParamByName('DF').asDateTime:=datetimepicker2.Date;
    Query.Active:=true;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 89
    Points : 49
    Points
    49
    Par défaut
    merci c'est gentil et c'est résolu

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

Discussions similaires

  1. [MySQL] requette sql avec affinité ?
    Par mims1664 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 05/11/2008, 17h56
  2. [AJAX] requete SQL avec une fonction javascript
    Par Mitsu78 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/03/2008, 22h37
  3. requete SQl avec la fonction max () qui ne marche pas
    Par eclipse012 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2006, 15h32
  4. [vb.NEt]Requette SQL avec ADO
    Par charaf dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/05/2006, 15h16
  5. [RegEx] analyseur de requette SQL avec RegEx - [casse tête]
    Par sebbod dans le forum Langage
    Réponses: 2
    Dernier message: 28/03/2006, 11h56

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