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 :

Requête SQL et calcul de temps


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Par défaut Requête SQL et calcul de temps
    bonjour,
    Le temps n'est pas au beau fixe

    Pour moi en tout cas.

    mon probleme est le suivant

    une table calcul_heures
    id
    debut:times
    fin;times
    duree

    J'arrive a calculer la difference de temps lors de l ajout d un enregistrement mais via un Ttable.

    Lors d une modification du temps ,j ai une requete sql qui met a jour le debut et la fin mais pas la duree.

    J'ai voulu faire un select debut, fin et soustraire ceux ci , mais ca marche pas car le champs du select sont soit une chaine soit un variant mais pas datetime ou time donc le calcul de marche pas..

    j'ai essaye avec variant ou integer , sachant que ca marcherai pas non plus , mais bonn..

    Donc je ne sais pas comment faire pour mettre a jour la duree..

    merci
    a+

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 094
    Par défaut
    Le Calcul de date est toujours un problème, quasiment chaque langage a un ensemble de fonction pour manipuler les dates, le SQL étant il me semble pauvre à ce sujet à la base ... tu es en quelle DB ?
    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 éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Par défaut
    c'est mysql

    le calcul je suis arrive a le faire avec un TTable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    table1.fields[1].asdatetime:=table1.fields[2].asdatetime - table1.fields[3].asdatetime
    C'est pas le code exact, mais bon du fait que ca soit datetime comme le type du champ de la table, ca passe bien..

    Mais sur la requete sql, je sais pas pourqoui mais le champ est string ou variant...

    Il faut peutre le precise quelque par ou formate le champ...

    merci

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 094
    Par défaut
    MySQL, oui, tu as DATE_SUB, cela pourrait t'aider ?
    D'ailleurs, il est conseillé de mettre les dates dans les requêtes sous la forme "YYYY-MM-DD", et te colonnes sont bien en type "DATE" ?

    Personnellement, j'utilise TMyQuery fourni dans MyDAC de Core Lab, donc il est un peu plus exact sur les types MySQL car utiliser un TTable, donc le BDE qui lui même accède via ODBC au driver MySQL, c'est plus lent et risque de perte de fiabilité, tu devrais regarder les TADOQuery qui retirait la couche BDE, pour utiliser directement le driver ODBC
    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

  5. #5
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Par défaut
    Merci je vais regarde

    a+

  6. #6
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Par défaut
    le format c'est time et non datetime

    je n'ai pas reussi a faire tourne la requete

    peux tu la corrige

    merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    query1.SQL.Text:=('SELECT DATE_FORMAT '+('1997-10-04 22:23:00' '%H:%i:%s')+' from calcul_heures ');
     
    from calcul heures n'est pas bon je sais,je pensais remplace 1997,etc..par debut un champ de la table
    Le composant site est il gratuit???

    merci

Discussions similaires

  1. [MySQL] Problème de requête SQL pour calculer des stats
    Par k2006 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/05/2009, 18h23
  2. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  3. Requête pour calculer le temps entre deux dates
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 13h50
  4. Réponses: 2
    Dernier message: 04/04/2006, 11h46
  5. [MySQL] Afficher le temps mis pour executer une requête SQL
    Par micatmidog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/09/2005, 11h23

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