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

VB.NET Discussion :

Problème de conversion de varchat en float


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 191
    Par défaut Problème de conversion de varchat en float
    Bonjour tout le monde !!

    Je développe une application qui permet à partir d'une feuille excel de remplir une table dans une base de données SQL. Mais j'ai un problème au niveau de l'insert et l'erreur
    Erreur de conversion du type de données varchar en float.
    J'ai vérifié et le problème survient lorsque je veux insérer un champ de type float s'il y a une virgule. J'ai mis un espion sur ma variable et il me dit bien que c'est un champ de type 'Double' et voici la requete d'insert généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "insert into PRA(codeprestation,codefournisseur,prixachat,datecreationfiche,datemisejour,prestlieefourn,codetva,designation1) values ('TRANSEXP01-0005','HEPPNER','45,74','04/05/2010','04/05/2010','O','1','Transport vers Ain en Express pour un colis de 5kg et un montant de 45,74 €')"
    Dans ma table j'ai bien des valeurs avec des virgules donc je ne comprend pas d'où vient cette erreur.

    Merci de votre aide

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Le fait qu'il y est des quotes ' ', peut faire croire à la BDD qu'il s'agit d'un varchar.

    Alors je dis peut être une bêtise, mais tu peux essayer de mettre:
    45.56
    au lieu de:
    '45,56'

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 191
    Par défaut
    Déja essayé mais dans ce cas VB.net considère que la valeur ne fait pas partie de la requete et me met un message d'erreur comme quoi le select comporte plus de valeurs que la partie values.

    Voici ma requete paramétrée si ca peut aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.CommandText = "insert into PRA(codeprestation,codefournisseur,prixachat,datecreationfiche,datemisejour,prestlieefourn,codetva,designation1) values ('" + res.ToString + "','" + TextBox1.Text + "','" & price & "','" + Date.Today + "','" + Date.Today + "','O','1','" + designation + "')"
    Merci de votre aide

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Passe par une requête parametrée plutôt!

  5. #5
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Autre question bête (mais bon, autant commencer par l'évident), price n'est pas un string?

  6. #6
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    J'ai regarder comment je faisais avec ma base MySQL, et je fais:

    Et ça fonctionne. Essaie

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 191
    Par défaut
    Price est déclaré en tant que Double : Dim price As Double = 0

    Je continue mes tests et donc je viens d'insérer en dur '1,20' ca declenche le probleme alors que '1.20' fonctionne bien.

    pour y remédié j'ai modifier dans les options régionales le séparateur décimal pour qu'il prennes le . plutot que la ,

    et ca marche !!

    Ce programme n'est utilisé que ponctuellement et personnellement donc ca passe mais pour une autre utilisation c'est plutot embetant surtout que je suis obligé de garder la virgule comme séparateur a cause d'un logiciel ERP

    En tout cas merci pour votre aide !!

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

Discussions similaires

  1. Problème de conversion de chaine en float avec awk
    Par nina2007 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 05/02/2015, 16h42
  2. Problème de conversion de String en Float
    Par reuqnas dans le forum Débuter
    Réponses: 2
    Dernier message: 25/06/2014, 18h39
  3. [TSQL]Problème de conversion de varchar en float
    Par supertom dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 20/06/2008, 11h56
  4. Problème de conversion float -> double
    Par Oberown dans le forum C#
    Réponses: 3
    Dernier message: 05/06/2007, 09h23
  5. Problème de conversion String en Float avec JTable
    Par dumasan dans le forum Composants
    Réponses: 4
    Dernier message: 23/04/2007, 11h56

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