Comment enregistrer un string en decimal
Bonjour tout le monde,
Dans mon application réalisée sous Visual Studio 2003, j'ai une comboBox qui me permet de choissir un article dans une liste.
Lorsque je choissit l'article, j'aimerai que cette dernière s'enregistre dans ma base de données SqlServer2000.
Voici la requête pour l'enregistrement dans la base :
Code:
command = new SqlCommand("INSERT INTO PIECE_CONSOMMEE(PC_CODART, PC_NUMINTER, PC_QTECONSO, PC_PU1MOMEN, PC_PU2MOMEN) VALUES('"+CodArt.Text+"', '"+NumInter.Text+"','"+Qte.Text+"', '"+Convert.ToDecimal(label17.Text)+"', '"+Convert.ToDecimal(label18.Text)+"'",connection);
Voici l'erreur que j'obtient lorsque j'exécute l'application :
Citation:
---------------------------
---------------------------
System.FormatException: Le format de la chaîne d'entrée est incorrect.
at System.Number.ParseDecimal(String s, NumberStyles style, NumberFormatInfo info)
at System.Decimal.Parse(String s, NumberStyles style, IFormatProvider provider)
at System.Decimal.Parse(String s)
at System.Convert.ToDecimal(String value)
at SuiviClient_DistribInfo.SuiviIntervention.Qte_TextChanged(Object sender, EventArgs e) in c:\documents and settings\fils\mes documents\visual studio projects\suiviclient_distribinfo\suiviintervention.cs:line 1258
Quelqu'un a til une idée car la je suis complétement bloqué!!
Merci d'avance!!
réponse à Guulh et à Fally
Réponse à Guulh :
Ok.
Mais que veux tu dire par "1.3"??
Code:
decimal d = Convert.ToDecimal("1.3", System.Globalization.CultureInfo.InvariantCulture)
Mais comment sais ton a quel champ de ma base et/ou a quel label de mon application correspond cela??
Réponse à Fally :
Je viens de modifier money en décimal dans ma base de données mais il me renvoye toujours cette erreur lorsque je teste mon application :
Citation:
System.FormatException: Le format de la chaîne d'entrée est incorrect.
at System.Number.ParseDecimal(String s, NumberStyles style, NumberFormatInfo info)
at System.Decimal.Parse(String s, NumberStyles style, IFormatProvider provider)
at System.Decimal.Parse(String s)
at System.Convert.ToDecimal(String value)
at SuiviClient_DistribInfo.SuiviIntervention.Qte_TextChanged(Object sender, EventArgs e) in c:\documents and settings\fils\mes documents\visual studio projects\suiviclient_distribinfo\suiviintervention.cs:line 1260
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10
| connection.Open();
SqlParameter paramPU1 = new SqlParameter("@PU1", SqlDbType.Money);
paramPU1.Value = Convert.ToDecimal(label17.Text);
SqlParameter paramPU2 = new SqlParameter("@PU2", SqlDbType.Money);
paramPU2.Value = Convert.ToDecimal(label18.Text);
string strSql1 = string.Format("INSERT INTO PIECE_CONSOMMEE(PC_CODART, PC_NUMINTER, PC_QTECONSO, PC_PU1MOMEN, PC_PU2MOMEN) VALUES('"+CodArt.Text+"', '"+NumInter.Text+"','"+Qte.Text+"', {0}, {1})", paramPU1.ParameterName, paramPU2.ParameterName);
SqlCommand cmd = new SqlCommand(strSql1, connection);
cmd.Parameters.Add(paramPU1);
cmd.Parameters.Add(paramPU2);
cmd.ExecuteNonQuery(); |
Merci d'avance!!