Pb : Textbox + BdD + float

Résolu
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007 - 10 août 2006 à 19:53
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007 - 10 août 2006 à 23:32
Salut, mon problème c'est que j'ai un textbox qui contient normalement une valeur de type float (l'utilisateur peut modifier cette valeur comme il veut). Lors de l'insertion dans la base de données, il n'y a aucun problème. Mais lorsque je veux modifier la valeur du float, il y a un problème lors de l'update dans la base de données.

Voici le bout de code qui me pose le problème :
try

{
   
float prix =
float.Parse(textBox2.Text); 
   SqlCommand cmd new SqlCommand("update Composant set REF_COM "+textBox3.Text+",LIB_COM ='"+textBox1.Text+"', TYP_PRI ="+prix+" where LIB_COM = '"+composont_pro.lib_pro+"' and REF_COM = "+composont_pro.ref_pro+"",cn); /*TYP_PRI est de type float et c'est ce composant qui pose un problème */

   try
   {
      cmd.ExecuteNonQuery();

      cn.Close();
      Close(); 
   }

   catch
   {
      MessageBox.Show("Erreur lors de la mise à jour d'un profile");
   }
}

catch
{
   MessageBox.Show("Donner une valeur correcte pour le prix");
}

J'espère que je me suis bien expliqué sinon je pourrai décrire et que vous pouvez m'aider à trouver où est le problème.
Merci.

9 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
10 août 2006 à 20:28
Salut,

Utilises des SqlParameter pour que ce soit plus simple a gérer (et plus sur)
Mx
MVP C# 
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
10 août 2006 à 20:28
ta principale erreur c'est de ne pas utiliser les SqlParameters !


 


car je suis sur que ton problème vient tout simplement du séparateur décimal !






Sébastien FERRAND
(

blog
)
Consultant Indépendant
[Microsoft MVP Visual C#]
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
10 août 2006 à 20:29
Fiouf, a 4 secondes pret j'étais eu ^^

Mx
MVP C# 
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
10 août 2006 à 20:29
trop court...

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
10 août 2006 à 20:49
4 secondes, puis 5...

<hr size="2" />VC# forever
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
10 août 2006 à 20:50
oui... mais il était en vacances toute la journée lui

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
10 août 2006 à 21:26
Si seulement...

Mx
MVP C# 
0
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
10 août 2006 à 23:30
Merci pour vos réponses. J'ai pu corriger l'erreur qui est due au séparateur décimal.

Maintenant, lorsque je remplis le textbox par un float (par exp 12,6) alors j'obtiens dans la base de données une valeur très grande après la virgule (pour 12,6 => BD : 12,6000003814697).
Comment est ce que je peux régler ce ptit problème  ?
0
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
10 août 2006 à 23:32
J'ai oublié de mettre le code, le voici :
p2 =

new SqlParameter();
p2.ParameterName = "@pri";
p2.SqlDbType = SqlDbType.Float;
p2.Direction= ParameterDirection.Input;
p2.Value =
float.Parse(textBox2.Text);

Est ce qu'il y a une propriété qui limite les valeurs après la virgule ?
0
Rejoignez-nous