Bonjour,
Je viens de passer plusieurs heures à tenter en vain de comprendre pourquoi un simple INSERT avec des valeurs de type decimal dans une table ne fonctionne pas.
Voici mon code
Impossible d'insérer la donnée prix que ce soit dans un type currency ou Number de type decimal avec 2 de précision dans accessdb.
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
34 decimal prix; OleDbConnection moon = new OleDbConnection(); moon.ConnectionString =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\c\Desktop\xxx.mdb"; string sqlIns = "INSERT INTO x ( date_m, prix)" + " VALUES (@date_en,@prix,)"; moon.Open(); OleDbCommand moon_cmd = new OleDbCommand(sqlIns); moon_cmd.Connection = moon; try{ prix = 12; moon_cmd.Parameters.AddWithValue("@date_now", DateTime.Today.ToShortDateString()); moon_cmd.Parameters.Add("@prix", OleDbType.Decimal).Value= prix; // j'ai essayé aussi cela mais rien non plus // moon_cmd.Parameters.Add("@prix", OleDbType.Numeric).Value= prix; moon_cmd.ExecuteNonQuery(); moon_cmd.Dispose(); moon_cmd = null; } catch (Exception ex) { throw new Exception(ex.ToString(), ex); } finally { moon.Close(); }
Partager