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 :

[BDE + PARADOX] Date système en SQL


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mars 2018
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 59
    Par défaut [BDE + PARADOX] Date système en SQL
    Bjr à tous,
    Alors Delphi 7 base de donnée paradox (je sais que bcp d'entre vous me dirons "mais pourquoi restez vous accroché à ce paradox ?!!!)
    rep: l'appli à été développée ainsi et je dois m'y adapter !

    je bloque sur comment récupérer la date du système (la date d'aujourd'hui) pour l'utiliser dans une requête en BDE ?!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select dated_abm, datef_abm, dure_abm, num_ab, nom_ab, prenom_ab, photo_ab, (datef_abm-{c'est ici ou je doit placer la date du systeme}currentDATE) as reste from abonnement, abonne
    where abonne.num_ab=abonnement.num_ab and validite_abm='true'
    en realité c'est pour calculer le nombre de jours qui restent dans chaque abonnement...

    pour ceux qui me diront il faut passer à autre chose....
    oui je suis passé à MySQL et SQL Server
    mais sur cette application le mal a été fait !!!
    donc help me please !

  2. #2
    Fxg
    Fxg est déconnecté
    Membre émérite
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 513
    Par défaut
    En utilisant la function : Now : TDateTime;

  3. #3
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mars 2018
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 59
    Par défaut
    j'ai déja essayé avec Now ça ne veut pas marcher !!!
    j'ai meme essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strtodate(formatdatetime('dd/mm/yyyy',now)
    rien aussi
    meme en essayant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strtodate(formatdatetime('dd/mm/yyyy',date))

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 663
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    A ma connaissance Paradox ou plutôt le local SQL de BDE n'a pas accès aux dates systèmes.
    Pour vous en sortir utilisez une requête paramétrée

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT dated_abm, datef_abm, dure_abm, num_ab, nom_ab, prenom_ab, photo_ab, 
    (datef_abm-:CURRENTDATE) as reste 
    FROM abonnement JOIN  abonne ON abonne.num_ab=abonnement.num_ab 
    WHERE  abonnement.validite_abm='true'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Query.Close;
    Query.ParamByName('CURRENTDATE').asString:=FormatDateTime('mm/dd/yyyy',date);   // attention le format de la date est important
    ou 
    //Query.ParamByName('CURRENTDATE').asDateTime:=now;
    Query.Open;

  5. #5
    Membre expérimenté
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Décembre 2014
    Messages : 115
    Par défaut
    Bonjour,
    Oui il faut utiliser un param, la soluton c'est ce que dit SergioMaster sauf un détail: la fonction date au lieu de now pour éviter les prob d'heure qui pourraient fausser ta requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query.ParamByName('CURRENTDATE').asDateTime:=date;
    - Evite de reconstruire ta date avec des formatdatetime(...) on est jamais sûr de l'ordre des jours, qui peut dépendre de ton windows, de Paradox, ...
    - pense à mettre ftDate dans la propriété DataType de ton paramètre
    et prend SQL proposé par Sergio.
    solilog

  6. #6
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mars 2018
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 59
    Par défaut
    j'ai eu une errur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Access violation at adress 4C5F2D6F in module 'idsql32.DLL'. Read of adress 0000000D.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Décembre 2014
    Messages : 115
    Par défaut
    J'ai fait le test ci-dessous pour initialiser un paramètre avec un tDateTimePicker
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     procedure TForm1.Button1Click(Sender: TObject);
    begin
      qySQL.Close;                 
      qySQL.SQL.Text := 'select * from OPE where OPDATE > :PKDATE';
      qySQL.Params[0].DataType := ftDate;
      qySQL.Params[0].AsDate := pkdat.date;    // pkDat : tDateTimePicker
      qySQL.Open();
    end;
    Ca fonctionne bien.
    solilog

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/04/2014, 13h29
  2. Récupérer et utiliser la date système du jour sous SQL
    Par fossolivier dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/07/2010, 11h09
  3. Date système SQL
    Par go_OM dans le forum Langage SQL
    Réponses: 11
    Dernier message: 23/05/2008, 16h16
  4. Réponses: 4
    Dernier message: 02/05/2007, 10h22
  5. [Sybase] Récupération de la date système
    Par atos dans le forum Sybase
    Réponses: 2
    Dernier message: 03/03/2004, 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