je suis debutant dans c# j'essaie d'executer une requete d'insertion parametré
en suivant plusieurs tutoriaux vu sur intrnet j'arrive pas a conclure lors de l'exécution me sort l'erreur :
ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]La variable scalaire "@Date" doit être déclarée.
j'arrive pas a comprendre l'erreur quelqu'un peut m'aider voici la parti de mon code
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
OdbcCommand my_commande;
 
                    //Requete insertion dans la table
                    string ma_requete ="insert into [APPLICATION_GAS] (DATE,NUM_BR,INDEX1,INDEX2,QTE_GAS,COMPT,CODE_EQU,CODE_CHAUFF,CODE_POMPE,CODE_UNITE_COMP,COMMENTAIRE,PARCOURS,MOYENNE_CONSO,DEPASSEMENT,PRIX_LITRE,PRIX_CONS,DATE_CRE) Values(@Date,@NumBr,@Index1, @Index2,@QteGas,@Compt,@CodeEqu,@CodeChauff,@CodePomp,@CodeUnitCompt,@Ccommentaire,@Parcours,@MoyenneConso,@Depassement,@PrixLitre,@PrixCons,@DateCre)";
 
 
                    //Création de la commande SQL 
                    my_commande = new OdbcCommand(ma_requete, conn);
 
                    //Création et décalartion des paramètres
                    my_commande.Parameters.Add(new OdbcParameter("?Date",OdbcType.DateTime));
                    my_commande.Parameters.Add(new OdbcParameter("?NumBr", OdbcType.Decimal));
                    my_commande.Parameters.Add(new OdbcParameter("?Index1", OdbcType.Decimal));
                    my_commande.Parameters.Add(new OdbcParameter("?Index2", OdbcType.Decimal));
                    my_commande.Parameters.Add(new OdbcParameter("?QteGas", OdbcType.Decimal));
                    my_commande.Parameters.Add(new OdbcParameter("?Compt", OdbcType.Real));
                    my_commande.Parameters.Add(new OdbcParameter("?CodeEqu", OdbcType.Char, 20));
                    my_commande.Parameters.Add(new OdbcParameter("?CodeChauff", OdbcType.NChar, 20));
                    my_commande.Parameters.Add(new OdbcParameter("?CodePomp", OdbcType.NChar, 20));
                    my_commande.Parameters.Add(new OdbcParameter("?CodeUnitCompt", OdbcType.Char, 20));
                    my_commande.Parameters.Add(new OdbcParameter("?Ccommentaire", OdbcType.VarChar, 150));
                    my_commande.Parameters.Add(new OdbcParameter("?Parcours", OdbcType.Decimal));
                    my_commande.Parameters.Add(new OdbcParameter("?MoyenneConso", OdbcType.Real));
                    my_commande.Parameters.Add(new OdbcParameter("?Depassement", OdbcType.Real)); 
                    my_commande.Parameters.Add(new OdbcParameter("?PrixLitre", OdbcType.Real));
                    my_commande.Parameters.Add(new OdbcParameter("?PrixCons", OdbcType.Real));
                    my_commande.Parameters.Add(new OdbcParameter("?DateCre", OdbcType.DateTime));
 
 
                    //Attribution des valeurs aux paramètres 
                    my_commande.Parameters["?Date"].Value = date1;
                    my_commande.Parameters["?NumBr"].Value = Num_br;
                    my_commande.Parameters["?Index1"].Value = index1;
                    my_commande.Parameters["?Index2"].Value = index2;
                    my_commande.Parameters["?QteGas"].Value = qte;
                    my_commande.Parameters["?Compt"].Value = compt;
                    my_commande.Parameters["?CodeEqu"].Value = equ;
                    my_commande.Parameters["?CodeChauff"].Value = chauf;
                    my_commande.Parameters["?CodePomp"].Value = pomp;
                    my_commande.Parameters["?CodeUnitCompt"].Value = unit_compt;
                    my_commande.Parameters["?Ccommentaire"].Value = comm;
                    my_commande.Parameters["?Parcours"].Value = parcours;
                    my_commande.Parameters["?MoyenneConso"].Value = moyen_cons;
                    my_commande.Parameters["?Depassement"].Value = depassement;
                    my_commande.Parameters["?PrixLitre"].Value = prix_litre;
                    my_commande.Parameters["?PrixCons"].Value = prix_cons;
                    my_commande.Parameters["?DateCre"].Value = DateTime.Now;
 
                    try
                    {
 
                        my_commande.ExecuteNonQuery();
                        my_commande.Connection.Close();
                    }
                    catch (Exception ee)
                    {
 
                        MessageBox.Show(ee.Message);
                    }