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

Dotnet Discussion :

[2.0, C#] Decimal: Incompatibilité .NET~SqlServer ?


Sujet :

Dotnet

  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Par défaut [2.0, C#] Decimal: Incompatibilité .NET~SqlServer ?
    Bonjour la planète.

    J'ai une application windows de gestion de stock avec base de donnée SqlServer 2000.
    Je gère les quantités en Double et j'ai aucun problème.
    Cependant, pour les prix, j'utilise les Decimal en .net et en SqlServer et a chaque fois que je fais une insertion, je retrouve mes donnés arrondis
    Un 18.25 par exemple deviens un 18

    J'ai pas envie de me retaper tous les codes pour changer le decimal en double.

    Please help.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Par défaut
    Bonjour,
    Dans le texte de ta requête remplace le . de la valeur décimal par une ,
    Bon boulot
    Jean

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Bonjour,
    J'ai deux remarques
    1/il me semble qu'il ne faut jamais utiliser de double pour des montants en argent car le double peut introduire un problème d'arrondi.
    2/
    Bonjour,
    Dans le texte de ta requête remplace le . de la valeur décimal par une ,
    Bon boulot
    Jean
    A ma connaissance dans un ordre SQL le séparateur décimal est toujours le point. A l'affichage cela peut être différent mais dans un insert, update c'est le point.

    J'ai deux questions.
    a/Quel est exactement le type de données SQL server, quelle est la précision et quelle est l'echelle. Fais un sp_help MA_TABLE et regarde dans les colonnes Prec et Scale
    De tête je dirais que si tu as une précision p et une échelle s. tu auras p chiffres significatifs dont s après la virgule. et donc si dans ta base de données tu n'as pas précisé une échelle de 2, c'est normal que cela arrondisse.
    b/Es-tu sûr d'avoir perdu de la précision, ou est-ce que c'est ta vérification qui ne t'affiche pas les décimales.
    Est-ce que tu as essayé quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select MON_MONTANT*100 as montant
    from MA_TABLE
    Juste pour être sûr que ce n'est pas un problème d'affichage lors de la vérification.

    Cordialement
    Soazig

  4. #4
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Par défaut
    Merci soazig et JPelli pour vos réponses.
    En effet, scale été assigné a zéro, je viens de le mettre à 2 et ça règle définitivement mon problème

    Merci

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

Discussions similaires

  1. excel asp.net sqlserver
    Par sarra0 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/02/2008, 17h00
  2. [Debutant: VB.net/SqlServer] Remplir un dataset !
    Par baradoss dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/09/2007, 00h00
  3. [VB.Net/SqlServer] Comment se connecter ?
    Par Pedro Varela dans le forum Accès aux données
    Réponses: 6
    Dernier message: 25/08/2006, 15h48
  4. [ASP.Net/SqlServer/Transaction] Commit ou pas ?
    Par totoche9 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 17/08/2006, 14h22
  5. [ADO.Net][SQLServer]Comment former valeur SmallDateTime?
    Par brousaille dans le forum Accès aux données
    Réponses: 15
    Dernier message: 25/03/2006, 18h42

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