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 :

remplacer CURRENT_DATE par une variable


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut remplacer CURRENT_DATE par une variable
    salut tout le monde
    delphi 7 , interbase
    voila ma requette:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM date_ent))>=:pp
    et ce qu'il est possible de remplacer "EXTRACT(YEAR FROM CURRENT_DATE" par une variable qui contient une annee entrer par l'utilisateur.
    jais essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    a:=strtoint(edit1.text)
    (:a - EXTRACT(YEAR FROM date_ent))>=:pp
    mais ces faux
    et ce que vous pouvez m'aider svp
    merci d'avance

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut


    l'idée serait d'utiliser un paramètre exactement comme pour le paramètre ":pp" que tu utilises déjà.
    mais une question, sais tu utiliser des requêtes avec paramètres ?
    sinon à vue de nez il faudrait peut être caster le paramètre quand même

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a:=FormatDatetime('dd.mm.yyyy',strtodate(edit1.text));
    dans le SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (CAST(:a AS DATE) - EXTRACT(YEAR FROM date_ent))>=:pp
    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

  4. #4
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut
    merci
    a l’exécution une erreur me dise "data type unknown"
    voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    dd:=strtodate(edit1.text);
    sql.add('select * from agent where (CAST(:dd AS DATE) - EXTRACT(YEAR FROM date_ent))>=:pp ....

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    il me semble que tu ne suis pas exactement mon code au niveau de ma transformation de la date . ATTENTION le format est important Nota , DD dans ce cas est un String , pas un TDateTime

    ensuite effectivement , au niveau du SQL , j'ai oublié les quotes , à ma décharge je ne savais pas si le SQL était déjà stocké dans une query (dans ce cas cela serait sans doute passé en indiquant dd de type string) ou non

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql.add('select * from agent where (CAST('':dd'' AS DATE) - EXTRACT(YEAR FROM date_ent))>=:pp ....
    nota , il s'agit de double quotes pas de guillemets

    D'ailleurs , de quels types de composants Query parle t'on ? et , comment est affecté le paramètre ?

    car il me semble que : avec un SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL.Add('select * from agent where :dd - EXTRACT(YEAR FROM date_ent))>=:pp');
    ParamByName('dd').asDateTime:=StrToDate(Edit1.text);
    avec un Edit1.Text correct (il aurait mieux valu utiliser un TDateTimePicker) cela devrait fonctionner . Enfin la partie code , car le SQL me parait étrange : retirer un nombre d'une date , c'est retirer un nombre de jours , s'il s'agit d'obtenir le nombre d'année d'ancienneté .....
    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

Discussions similaires

  1. [Débutant] remplacé le || par une variable, est ce possible ?
    Par microbe83 dans le forum C++Builder
    Réponses: 4
    Dernier message: 04/11/2013, 22h08
  2. Remplacer chiffre par une variable
    Par temjeh dans le forum Général Java
    Réponses: 3
    Dernier message: 13/01/2010, 11h12
  3. Remplacer nom d'un forulaire par une variable
    Par kevain_09 dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/06/2007, 14h06
  4. Réponses: 4
    Dernier message: 10/03/2007, 02h29
  5. Réponses: 3
    Dernier message: 11/12/2005, 11h15

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