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

JDBC Java Discussion :

[MySQL & Swing] pb de récupération nb float


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut [MySQL & Swing] pb de récupération nb float
    bonjour, je développe une application graphique qui utilise une base de données MySQL, je me connecte avec mysql-connector. Pour la connection et l'insertion de données, j'utilise une classe personnelle dont l'objet sql est une instance.

    Je récupère un String d'un JTextField, le cast en float, et essaye de l'inserrer dans un champ(float) d'une table. Voici le morceau de code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                try {
                    String requete =  "insert into VEHICULE values("+Integer.parseInt(jTextField_Puissance.getText())+","
                    +Integer.valueOf(jTextField_PrixKm.getText()).floatValue() +")";
                    sql.Insert(user, password, requete);
                } catch (Exception e) {
                    System.out.println("Classe Nv_PuissInteger. ance : Erreur lors de l'insertion de la nouvelle puissance fiscale");
                    System.out.println(e);
                }
    Lorsque je récupère un entier dans le jTextField_PrixKm, tout va bien, pas de message d'erreur, mais lorsqu'il y'a une virgule, j'obtiens ce message :

    Classe Nv_PuissInteger. ance : Erreur lors de l'insertion de la nouvelle puissance fiscale
    java.lang.NumberFormatException: For input string: "2.3"


    Avez vous une idée du problème ?

  2. #2
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    L'erreur est claire pourtant ! Les float comme les double s'ecrivent avec un point et non une virgule.
    Par exemple : 2,3 => 2.3


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut
    Ah non ! l'erreur dit bien que la valeur entrée est "2.3" et non "2,3"


    si je rentre "2,3", c'est un autre message :

    Classe Nv_PuissInteger. ance : Erreur lors de l'insertion de la nouvelle puissance fiscale
    java.lang.NullPointerException

  4. #4
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Citation Envoyé par clebig
    mais lorsqu'il y'a une virgule, j'obtiens ce message :
    La virgule peut étre interprétée par MySQL. Pour eviter ce problème il vaut mieux utiliser des PreparedStatement .

    P.S : Mets dans tes catch e.printStackTrace() ça permet d'avoir plus d'informations sur l'exception


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut
    Merci pour ce lien vers PreparedStatement que je ne connaissais pas et qui mérite d'être utiliser, mais j'aimerai tout de même savoir pourquoi ma requête ne fonctionne pas correctement. La méthode que j'utilise :" Integer.valueOf(JTextField_PrixKm.getText()).floatValue() me renvoit-elle bien un "float" ?

  6. #6
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Citation Envoyé par clebig
    . La méthode que j'utilise :" Integer.valueOf(JTextField_PrixKm.getText()).floatValue() me renvoit-elle bien un "float" ?
    Pourquoi ne pas faire tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Float.valueOf(JTextField_PrixKm.getText())
    ?


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut
    En fait c'était vraiment tout bête...une grosse erreur...

    Le problème venait de : Integer.valueOf(JTextField_PrixKm.getText()).floatValue();

    c'est en fait : Float.valueOf(JTextField_PrixKm.getText())...

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

Discussions similaires

  1. Récupération de Float sous D-XE2 + FB 2.5 Impossible
    Par lefju cabro dans le forum Bases de données
    Réponses: 16
    Dernier message: 19/04/2012, 17h40
  2. récupération date Mysql
    Par miram dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 09/02/2006, 13h17
  3. Récupération de donnés en base MySQL
    Par netah25 dans le forum C++Builder
    Réponses: 11
    Dernier message: 23/01/2006, 16h56
  4. Réponses: 3
    Dernier message: 06/10/2005, 16h46

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