Décidement je m'en sors toujours pas.
Voici mon message d'erreur qui bien s˚r n'apparait que lorsque je veut insÈrer un nombre ‡ virgule:
"Erreur de convertion du type de donnÈes varchar en float"
Je vous montre un extrait de code (sachant que dans ma BDD le champs est dÈclarer en float):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 try { req3 = "UPDATE produits SET pr_libel = '" + txtnom2.Text + "', pr_prix = '" + Convert.ToSingle(txtprix2.Text) + "' Where pr_code='" + txtnum.Text + "' "; Cmd.CommandText = req3; Cmd.ExecuteNonQuery(); //cette instruction retourne le nb de lignes affectÈes, en testant on sait si l'insertion a ÈtÈ faite System.Windows.Forms.MessageBox.Show("Modification rÈalisÈ avec succËs ;)"); Connect.Close(); this.Close(); } catch(Exception ex) { //afficher le message correspondant System.Windows.Forms.MessageBox.Show(ex.Message); //System.Windows.Forms.MessageBox.Show("Une erreure est survenue"); this.Close(); }
salut,
double ou float pour la base de donnée c'est pareil, moi aussi je l'utilise alors:
tu déclare
a toi de tester
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 string prix; prix=txtprix2.Text;//pour que tu soit juste sur Convert.ToDouble(prix);//ca marche chez moi
Et si il faisait comme BlueDeep lui conseillait : utiliser les Parameters, ça éviterai les SQL Injection![]()
La vérité c'est que j'ai encore beaucoup de mal avec les termes, ce n'est pas volontaire si il y a des explications que j'interprète mal.
Concernant l'histoire du DbParameters je ne vois pas du tout comment faire ainsi que pour l'utilisation du cast.
En tout cas merci pour vos solutions, je vais encore essayé
Mais utilise les paramètres bon sang de bois.
Ou ça donne la meme chose
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SqlCommand cmd = new SqlCommand("SELECT UnitPrice FROM Products WHERE UnitPrice < @price", con); cmd.Parameters.AddWithValue("@price", 19.50);
C'est ADO qui se demerde avec les types.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SqlCommand cmd = new SqlCommand("SELECT UnitPrice FROM Products WHERE UnitPrice < @price", con); cmd.Parameters.AddWithValue("@price", "19.50");
Partager