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 :

Décimal dans BDD


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 73
    Par défaut Décimal dans BDD
    Bonjour à tous,

    Je travaille sur un projet qui consiste à récupérer des valeurs dans un fichier CSV et les enregistrer en base de données Access.

    Dans mon fichier, mes nombres décimaux sont de format : 3.34

    J'obtiens une erreur lors de l'enregistrement des valeurs décimales dans la base de données.

    Mon paramètre de séparateur décimal est une virgule.

    L'enregistrement fonctionne bien si je change ce paramètre par un point.

    Ma question est donc :

    Existe-t-il un moyen de changer l'interprétation des paramètres simplement pour mon application et mon accès BDD.

    Je ne voudrais surtout pas changer complètement les paramètres pour ne pas impacter mes clients

    Merci pour vos retours.

    Brody

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Ce qui vient de ton CSV est du texte.
    Ce qui est attendu par ta base est une valeur décimale.

    Il faut donc convertir la valeur texte en valeur décimal.
    https://docs.microsoft.com/en-us/dot...tframework-4.8

    Et ensuite insérer dans la base à l'aide d'une requête paramétrée et du bon OleDbType
    https://www.codeguru.com/visual-basi...-applications/
    https://docs.microsoft.com/fr-fr/dot...tframework-4.8

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 73
    Par défaut
    Je viens de trouver une solution :

    Si jamais des gens cherchent comme moi un jour :

    J'ai récupéré le séparateur du système avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public VG_SeparateurDecimal = System.Globalization.CultureInfo.InstalledUICulture.NumberFormat.NumberDecimalSeparator
    Lors de la lecture de mes champs CSV, je test si le séparateur est une virgule ou un point.
    En fonction du résultat j'effectue un replace dans ma chaine.

    Egalement, il fallait que j'utilise un Single et non Décimal avec la bonne conversion Csng

    Ce qui nous donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If (VG_SeparateurDecimal = ",") Then VG_ctlrPes.ConsFor = CSng(ligneActuelle(7).Replace(".", VG_SeparateurDecimal)) Else VG_ctlrPes.ConsFor = CSng(ligneActuelle(7))

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

Discussions similaires

  1. Insertion dans BDD type ACCESS
    Par NeHuS dans le forum ASP
    Réponses: 2
    Dernier message: 20/04/2005, 10h53
  2. insérer date dans bdd mssql
    Par ericmart dans le forum ASP
    Réponses: 18
    Dernier message: 14/12/2004, 14h10
  3. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03
  4. Réponses: 1
    Dernier message: 06/03/2003, 11h57
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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