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 :

Delphi7 Interbase6.5 Utilisation TIMESTAMP


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Responsable maintenance
    Inscrit en
    Juin 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable maintenance

    Informations forums :
    Inscription : Juin 2003
    Messages : 26
    Par défaut Delphi7 Interbase6.5 Utilisation TIMESTAMP
    Problème sur l'utilisation de TIMESTAMP en dialect 3 avec Delphi7 et Interbase 6.5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    with SQL do
      begin 
        Chn:='22/12'2009 15:45 56';
        SQDT:=StrToSQLTimeStamp(Chn);
        ParamByName(MaDatation).asTSQLTimeStamp:=StrToSQLTimeStamp;
      end;
    (SQDT);
    message d'erreur : fonctionnalité non supportée

    Le champ est créé dans la table en tant que format TIMESTAMP
    le debugger affiche bien tous les champs de SQDT(date, heure,secondes...)
    Qu'est ce qui cloche ?

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Tout d'abord, bonsoir

    Ensuite, ta chaîne m'a l'air mal construite!
    Si Chn doit contenir une chaîne de caractères indiquant une date + une heure, elle est mal construite... Ca ne serait pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chn := '22/12/2009 15:45:56'
    Mais bon, je pense que tu as fait une erreur de copié coller vu que tu as les bons champs dans ton SQLT... Après, je ne vois pas.

  3. #3
    Membre averti
    Profil pro
    Responsable maintenance
    Inscrit en
    Juin 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable maintenance

    Informations forums :
    Inscription : Juin 2003
    Messages : 26
    Par défaut
    je rectifie la syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    with SQL do
      begin 
        Chn:='22/12/2009 15:45:56';
        SQDT:=StrToSQLTimeStamp(Chn);
        ParamByName(MaDatation).asTSQLTimeStamp:=SQDT;
      end;

  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 ,

    pfew , du 6.5 je sais que c'etait open source mais quand même de l'eau a coulé sous les ponts depuis .
    pourquoi ne tenterais tu pas un passage a Firebird , la branche toujours open source de Interbase 6.5 , tu serais surpris des évolutions

  5. #5
    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

    Effectivement IB6.5 c'est plutôt vieillot. Donc si tu n'es pas contraint d'utiliser cette version d'IB, je te suggère également de passer à une version plus récente d'Interbase ou Firebird, ces deux produits ayant beaucoup évolués depuis.

    Mais en ce qui concerne ton problème de date, sache qu'un champ IB/FB TIMESTAMP sera au niveau de ton DataSet de type ftDateTime et non ftTimeStamp.

    Donc utilise une variable de type TDateTime pour alimenter ton paramètre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var
      MyStamp: TDateTime;
    begin
      // ...
      MyStamp := EncodeDateTime(2009, 12, 22, 14, 45, 56, 0);
      with SQL do
      begin 
        // ...
        ParamByName(MaDatation).AsDateTime := MyStamp;
        // ...
      end;
    @+ Claudius

  6. #6
    Membre averti
    Profil pro
    Responsable maintenance
    Inscrit en
    Juin 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable maintenance

    Informations forums :
    Inscription : Juin 2003
    Messages : 26
    Par défaut
    Merci ça marche

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 737
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    bonjour ,
    la branche toujours open source de Interbase 6.5 , tu serais surpris des évolutions
    Interbase 6.5 n'était plus open source.

    Firebird est effectivement très bien

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

Discussions similaires

  1. [C# - SQL] Utiliser Timestamp
    Par thecyril dans le forum C#
    Réponses: 1
    Dernier message: 04/09/2008, 18h46
  2. [SSIS][2k5] Utiliser Timestamp dans SSIS
    Par ygrim dans le forum SSIS
    Réponses: 2
    Dernier message: 01/04/2008, 15h15
  3. [ASE]Utiliser timestamp dans une clause WHERE
    Par JeffK dans le forum Adaptive Server Enterprise
    Réponses: 14
    Dernier message: 03/12/2007, 12h34
  4. [PowerBuilder] Utilisation TimeStamp
    Par Thig dans le forum Powerbuilder
    Réponses: 6
    Dernier message: 29/08/2006, 13h00
  5. Delphi5 (IBX) - Interbase6.0 + Utilisation des triggers
    Par _Marsu_ dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/04/2004, 18h02

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