1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mai 2014
    Messages : 7
    Points : 6
    Points
    6

    Par défaut Un comportement étrange de SQLQuery.Update

    Bonsoir à tous

    J'ai une erreur bizarre dont je ne trouve trace dans aucun forum

    L'environnement est le suivant
    Windows10
    Lazarus 1.3.2 win64
    Firebird 2.5.7 x64
    FlameRobin 0.9.3 32bits

    Le problème surgit dans la sauvegarde des modification des données dans une TBGrid avec l'instruction SQLQuery.Update.
    Une valeur changée dans le tableau, par exemple 141,12 est sauvegardée comme 1411200, et ensuite affichée ainsi

    Je suis à peu près sûr que la problème ne vient pas de Firebird, car lorsque je fais la même opération avec FlameRobin
    sur le même enregistrement le résultat est correct. C'est pourquoi je pose la question ici.

    Est ce que quelqu'un a le début d'une idée?

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    mars 2005
    Messages
    2 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : mars 2005
    Messages : 2 934
    Points : 7 974
    Points
    7 974

    Par défaut

    Est-ce que ça aurait à voir avec le format Currency ?
    Delphi 5 Pro - Delphi 10.1 Berlin Starter Edition - CodeTyphon 6.15 sous Win 7 et 5.20 sous Ubuntu 14.04
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mai 2014
    Messages : 7
    Points : 6
    Points
    6

    Par défaut Est-ce que ça aurait à voir avec le format Currency ?

    Non, je ne crois pas.

    Dans la table DataBase, les données numériques sont toutes définies comme NUMERIC(10,2).

    Je crois, moi aussi, que si ce n'est pas un bug, c'est une question de définition du format numérique,
    mais où? J'ai vérifié dans les paramètres Windows que le séparateur décimal est bien ',' comme dans Firebird.

    D'un autre côté, je ne connais pas de formatage qui corresponde à un facteur 10 000.

    Le mystère reste entier !

  4. #4
    Membre averti
    Inscrit en
    juin 2012
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 266
    Points : 425
    Points
    425

    Par défaut

    Lazarus 1.3.2 win64
    C'est vraiment un vieux modèle, une mise à jour de la Lazarus et FPC serait peut-être une idée.
    Ici on dirait que le séparateur décimal est tout simplement ignoré et que les 2 00 ajoutés viennent de ,2 dans la définition des données. Il faudrait voir si on à 4 0 ajoutés avec ,4 et aussi essayer de remplacer le séparateur décimal par un . pour voir si ça change quelque chose.
    Lister la table avec autre chose que Lazarus permettrait aussi de savoir si c'est l'entrée de la BDD qui est incorrecte ou simplement sont affichage.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mai 2014
    Messages : 7
    Points : 6
    Points
    6

    Par défaut Conclusion

    Bonsoir à tous,
    et merci pour vos avis.

    Finalement je me suis résigné à supprimer tout ce qui concernait Lazarus et à installer la version 1.6.4
    C'était la bonne solution, puisque tout fonctionne maintenant parfaitement.

    Ce qui me remet en mémoire l'histoire du petit oiseau qui était tombé du nid directement dans une bouse encore tiède.
    Remis du choc, il constate que la situation est très supportable. Délicieuse même, et se met à s'ébrouer gaillardement
    en pépiant de bonheur.

    Renard qui passait par là s'approche et interpelle l'oisillon,
    - Mon pauvre petit, je vais te tirer de là!
    D'un coup de patte il extrait le bienheureux de sa fange... et le croque.

    Moralité: Celui qui te sort de la merde ne te veux pas obligatoirement du bien.
    Moralité de la moralité: Quand tu es dans la merde, ferme ta gueule et rame.

    Baisers à tous du fond de ma campagne.

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

Discussions similaires

  1. [Forms6i] Un IF-ELSIF au comportement étrange
    Par lafouine dans le forum Forms
    Réponses: 11
    Dernier message: 13/09/2005, 16h40
  2. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 20h44
  3. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 22h27
  4. Réponses: 1
    Dernier message: 06/06/2004, 10h54
  5. Réponses: 2
    Dernier message: 22/09/2003, 12h23

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