Pb : Insertion float dans BD

ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007 - 11 août 2006 à 10:26
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007 - 11 août 2006 à 23:53
Salut, mon problème est que lorsque j'insère un float dans ma base de données alors elle sera stoquée avec plusieurs valeurs avant la virgule.
Par exemple : lorsque j'insère 12,6 alors j'obtient dans la ma base de données la valeur 12,6000003814697.

Voici le bout de code qui pose ce problème :
SqlParameter p2;SqlCommand cmd new SqlCommand("update Composant set LIB_COM'"+textBox1.Text+"', TYP_PRI = @pri, REF_COM ="+textBox3.Text+" where LIB_COM = '"+Composant.lib_com+"'",cn);
p2 = new SqlParameter();
p2.ParameterName = "@pri";
p2.SqlDbType = SqlDbType.FloaT;p2.DirectionParameterDirection.Input; p2.Value float.Parse(textBox2.Text);
cmd.Parameters.Add(p2);
cmd.ExecuteNonQuery();

J'espère que vous pouvez m'aider.
Merci.

2 réponses

cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
11 août 2006 à 18:33
Et en passant par un type Decimal au niveau de la base de données ou de .Net, çà ne passerait pas mieux ?

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
0
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
11 août 2006 à 23:53
Merci. J'ai déjà essayé avec le type décimal, cela minimise au moins le nombre de valeurs avant la virgule.


Ce que je ne comprends pas pourquoi lorsque j'insère à la base de données des données en utilisant sqlParameter, il y a beaucoup de valeurs avant la virgule. Alors que lorsque j'insère sans sqlParameter les floats insérés sont identiques aux valeurs écrites.


Ce sera sympa si quelqu'un aura une réponse .
0
Rejoignez-nous