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 :

Requete paramétré et valeur d'un float


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Braillane
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 212
    Par défaut Requete paramétré et valeur d'un float
    Bonjour ,
    j'ai un problème assez bizarre avec ma requete paramétré que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    cmd.CommandText = "INSERT INTO Devices(...., CPP, ....) values (...,@CPP,...)";
    DbParameter myParameter;
    myParameter = cmd.CreateParameter();
    myParameter.ParameterName = "@CPP";
    myParameter.DbType = DbType.Single;
    myParameter.Direction = ParameterDirection.Input;
    myParameter.Value = 0.3;
    cmd.Parameters.Add(myParameter);
    Quand je regarde dans ma base, la valeur n'est pas 0.3 mais 0,30000001192092896

    Si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.CommandText = "INSERT INTO Devices(...., CPP, ....) values (...,0.3,...)";
    Alors la la valeur est bien 0.3 dans ma base.

    Quel est ce bug?????

    Merci d'avance!

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Je serais tenté de dire que c'est à cause de cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myParameter.DbType = DbType.Single;
    Essaye ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myParameter.DbType = DbType.Double;

  3. #3
    Membre confirmé Avatar de Braillane
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 212
    Par défaut
    J'ai essayé et ça ne change absolument rien
    j'ai meme essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myParameter.Value = 0.3F;

  4. #4
    Membre Expert Avatar de LaChips
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 109
    Par défaut
    En fait il faut faire çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SqlParameter myParameter;
    myParameter = cmd.CreateParameter();
    myParameter.ParameterName = "CPP";
    myParameter.DbType = DbType.Double;
    myParameter.Direction = ParameterDirection.Input;
    myParameter.Value = 0.3d;
    cmd.Parameters.Add(myParameter);

  5. #5
    Membre Expert Avatar de LaChips
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 109
    Par défaut
    Ah j'ai oublié de précisé que c'est parce que le type float sur SQL Server correspond à un Double en C#

  6. #6
    Membre confirmé Avatar de Braillane
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 212
    Par défaut
    Excellent! Merci beaucoup, problème résolu

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/11/2011, 15h18
  2. Voir la requete paramétrée avec les valeurs des paramètres
    Par Jdubernat dans le forum Accès aux données
    Réponses: 4
    Dernier message: 27/10/2008, 19h35
  3. valeurs à requete paramétrée source d'un formulaire
    Par jover dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/09/2008, 22h31
  4. Réponses: 1
    Dernier message: 31/05/2008, 14h00
  5. Affcecter une valeur NULL dans une requete paramétrée
    Par thiouwz2 dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/11/2004, 16h02

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