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 :

update et virgule


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut update et virgule
    Salut,

    Dans un premier temps j'insère des données dans ma table, dont un champ (double précision) : la virgule est bien prise en compte après vérification dans ma table

    Dans un deuxième temps, je souhaite modifier des données dans cette table avec un update et notamment ce champ avec virgule. Mais pb, cette dernière n'est pas prise en compte. Ex : si je saisi 2,5, dans ma table j'ai 25 !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ibquery1.sql.clear;
     
    ibquery1.sql.add('update preparation_milieu set volume='+quotedstr(combobox3.text)+',num_lot_milieu='+quotedstr(edit2.text)+',num_sup='+quotedstr(edit3.text)+'where date_prep='+quotedstr(date2)+'and init_op='+quotedstr(combobox1.text)+'and deno_milieu='+quotedstr(combobox2.text));
     
    ibquery1.execsql;
    MessageDlg('Les informations ont été prise en compte',mtInformation, [mbOK], 0) ;
    C'est le combobox3 qui contient le champ qui peut être ou non à virgule.

    Help me !

    Delph

  2. #2
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 66
    Points : 191
    Points
    191
    Par défaut
    Remplace la virgule francaise par un point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    vol := StringReplace(combobox3.Text, ',', '.');

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Août 2002
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    J'ai déjà rencontré le problème, et cela venait de la différence entre le point et la virgule. Sous Windows faire attention aux paramètres régionaux dans la configuration des nombres

    Cordialement

    Laurent

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 69
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par Didier LARGANGE
    Remplace la virgule francaise par un point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    vol := StringReplace(combobox3.Text, ',', '.');
    Et comment ils font les gens qui ont "," sur leur pavé numérique ?

  5. #5
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 66
    Points : 191
    Points
    191
    Par défaut
    Et comment ils font les gens qui ont "," sur leur pavé numérique ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.ComboBox3KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = ',' then Key := '.';
    end;

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut virgule et point
    Merci pour l'info !
    Bonne journée
    Delph

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 69
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par Didier LARGANGE
    Et comment ils font les gens qui ont "," sur leur pavé numérique ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.ComboBox3KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = ',' then Key := '.';
    end;
    Très dangereux
    je dirais plutôt
    if Key = DecimalSeparator then Key = '.';

  8. #8
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 673
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 673
    Points : 7 051
    Points
    7 051
    Par défaut
    C'est vrai, c'est plus propre !

  9. #9
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 66
    Points : 191
    Points
    191
    Par défaut
    Très dangereux
    je dirais plutôt
    if Key = DecimalSeparator then Key = '.';
    En fait j'aurais plutot ecrit pour aller plus loin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if Key in ['.', '.'] then Key := DecimalSeparator;
    C'est vrai, c'est plus propre !
    Je suis d'accord pour le "plus propre", mais en quoi est-ce "dangereux" ?
    Cet evenement est limite à la zone de saisie !

Discussions similaires

  1. [PostgreSQL] update d'array et virgule
    Par cyscek dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 27/06/2012, 15h54
  2. [AC-2007] Problème de virgule avec UPDATE
    Par andy331 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/01/2010, 17h17
  3. [AC-2003] [SQL] [VBA] UPDATE nombre à virgule
    Par antoinev2 dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/11/2009, 21h51
  4. Réponses: 3
    Dernier message: 10/11/2002, 11h03
  5. Chiffre a Virgule Fixe
    Par garybaldi dans le forum C
    Réponses: 3
    Dernier message: 21/06/2002, 10h41

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