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

EDI Delphi Discussion :

[Kylix] Problème de virgule/DBExpress


Sujet :

EDI Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 31
    Points : 25
    Points
    25
    Par défaut Problème de virgule/DBExpress
    Re-bjr,

    l'attribution d'un valeur numérique décimale dans un champ SQL numarique est IMPOSSIBLE, si LANG=fr_FR !!

    Exemple,

    DataModule1.CDS_patients.FieldValues(['total']):=12.56;
    Post;
    ApplyUpdates('1);
    Refresh;

    La valeur inscrite est non pas 12.56 MAIS 12!
    Quand ce n'est pas zero.

    Si vous remplacez 12.56 par un variant '12,56' ou un Double=12.56 ou autre, c'est pareil.

    IBConsole, IBAccess, DBExplorer se comportent de la meme façon, sauf si LANG n'est pas précisé ou est à us_US

    Interbase, RH7.3, Suse8.1, Kylix3, Kylix2.

    haha, comment faire ????? passer sous LANG=us_US et se passer des accents ??

    Quelqu'un peut il répondre ????

    Delphi se comporte il de la meme façon ?

    Mettre DEcimalSeparator à * '.' ??

  2. #2
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    ca donne quoi ca ?

    DataModule1.CDS_patients.FieldByName('total').AsFloat := 12.56
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Kylix 2

    ben ... ça donne zero

    Si je remplace 12.56 par un variant, ça veut bien me donner la partie entière (12)..

    dans les 2 cas, c'est fô de chez fÔ

    Chez toi, ça donne quoi ?
    Avec LANG=fr_FR ?

    C'est la glib qui merde ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    J'ai trouvé un bricolage:

    faut passer les ordres SQL en direct avec
    SQLCOnnection.Execute('ordes SQL')

    C'est pas très élégant, mais bon, je ne vois pas d'autres solutions...

  5. #5
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    encore une fois c'est la variable LC_ALL qui va déterminer ta localisation

    essaye de la passer en string sinon
    ou essaye de voir ceque fait une conversion d'un float en string

    Edit1.Text := FLoatToStr(12.56);
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    avec Redhat7.3, ça donne 0,000012
    avec Suse8.1 ça donne 12,56

    parcontre DbExpress donne des valeurs fausses...

    LC_ALL et LANG à fr_FR

    expérons que United Linux ou autre harmonise tout ça ...


    merci pour tout.

    a+

Discussions similaires

  1. [Kylix] problème compilation kylix3 avec redhat 9.0
    Par madininaoursa dans le forum EDI
    Réponses: 1
    Dernier message: 02/07/2003, 16h21
  2. [Kylix] problème d'affichage
    Par scalvi dans le forum EDI
    Réponses: 1
    Dernier message: 18/06/2003, 10h07
  3. [Kylix] problème avec websnap dso apache
    Par RezzA dans le forum EDI
    Réponses: 2
    Dernier message: 02/06/2003, 16h31
  4. Réponses: 1
    Dernier message: 06/03/2003, 11h57
  5. [Kylix] problème web service kylix
    Par RezzA dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2003, 14h50

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