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 :

Comment insérer la date actuelle dans une requête SQL ?


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Par défaut Comment insérer la date actuelle dans une requête SQL ?
    bonjour, je suis un débutant delphi et je veux faire la requete suivante
    dans ma base de données crée avec pardox (delphi5) j'ai la table formation qui contient nom_employé, ..., date_début_formation, date_fin_formation
    ce que je veux c afficher les employés qui sont en cours de formation par rapport a la date du jour, (du genre select * from formation where "date du jour" between date_début_formation and date_fin_formation)

    j'utilise un dbgrid relié a un query1 dans le quel je veux ecrire cette requete pour qu'elle s'applique sur le dbgrid

  2. #2
    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
    Simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    With Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from formation');
      SQL.Add('Where date_début_formation >= ' + Quotedstr(FormatDateTime('DD/MM/YYYY',Now)));
      SQL.Add('and date_fin_formation <= ' + QuotedStr(FormatDateTime('DD/MM/YYYY',Now)));
      Open;
    end;
    N'utilisant pas paradox depuis un bon mment je ne sais pas si le format de date est le bon.
    Modérateur Delphi

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

  3. #3
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Par défaut
    merçi beacoup Rayek pour ta réponse rapide je vais l'essayer et je vous tiens au courant.

  4. #4
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Par défaut
    j'obtiens le message "difference de type dans une meme expression" et pourtant date_début_formation et date_fin_formation sont de type date!

  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
    il te faut voir pour le format de la date qui peut être DD/MM/YYYY ou MM/DD/YYYY (je ne sais plus comment c'est en paradox)
    Essaie aussi sans les QuotedStr.

    Chaque base de données à son système pour l'appellation des dates, donc la il te faut voir la documentation ou faire une recherche.
    Modérateur Delphi

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

  6. #6
    Expert confirmé
    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 : 62
    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
    Par défaut
    Salut

    Il reste toujours la solution d'écrire une requête paramétrée. C'est selon moi la méthode la plus simple, ainsi on évite les problèmes de format de date:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    With Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from formation');
      SQL.Add('Where date_debut_formation >= :DateDuJour');
      SQL.Add('and date_fin_formation <= :DateDuJour');
      Parameters.ParamByName('DateDuJour').Value := Date;
      Open;
    end;
    @+ Claudius

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/07/2009, 10h51
  2. Comparer date/heure dans une requête SQL
    Par ach152 dans le forum Débuter
    Réponses: 9
    Dernier message: 13/07/2008, 14h24
  3. Insérer des champs vides dans une requête sql
    Par js8bleu dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/02/2008, 15h00
  4. [SQL] insérer des variables php dans une requête sql
    Par lili38 dans le forum PHP & Base de données
    Réponses: 28
    Dernier message: 22/06/2007, 16h38
  5. [SQL] Comment insérer une variable php dans une requête SQL ?
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/05/2007, 08h47

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