Salut,

Dans une table j'ai une colonne PointCumulatif en bool.
J'ai créé un UpdateCommande que voici
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
            UpdateCommand.CommandText = "UPDATE `Ligne` " +
                                           "SET `NumeroPoint1` = ?, " +
                                               "`NumeroPoint2` = ?, " +
                                               "`Distance` = ?, " +
                                               "`Rayon` = ?, " +
                                               "`Centre` = ?, " +
                                               "`PointCumulatif` = ?, " +
                                               "`NoSinueuse` = ? " +
                                        "WHERE (((? = 1 AND `NuméroForme` IS NULL) OR (`NuméroForme` = ?)) " +
                                           "AND (`NuméroLigne` = ?) " +
                                           "AND ((? = 1 AND `NumeroPoint1` IS NULL) OR (`NumeroPoint1` = ?)) " +
                                           "AND ((? = 1 AND `NumeroPoint2` IS NULL) OR (`NumeroPoint2` = ?)) " +
                                           "AND ((? = 1 AND `Distance` IS NULL) OR (`Distance` = ?)) " +
                                           "AND ((? = 1 AND `Rayon` IS NULL) OR (`Rayon` = ?)) " +
                                           "AND ((? = 1 AND `Centre` IS NULL) OR (`Centre` = ?)) " +
                                           "AND ((? = 1 AND `NoSinueuse` IS NULL) OR (`NoSinueuse` = ?)))";
            UpdateCommand.Parameters.Clear();
            UpdateCommand.Parameters.Add(new OleDbParameter("NumeroPoint1", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "NumeroPoint1", DataRowVersion.Current, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("NumeroPoint2", OleDbType.VarWChar, 0, ParameterDirection.Input, false, 0, 0, "NumeroPoint2", DataRowVersion.Current, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Distance", OleDbType.Double, 0, ParameterDirection.Input, false, 0, 0, "Distance", DataRowVersion.Current, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Rayon", OleDbType.Double, 0, ParameterDirection.Input, false, 0, 0, "Rayon", DataRowVersion.Current, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Centre", OleDbType.VarWChar, 0, ParameterDirection.Input, true, 0, 0, "Centre", DataRowVersion.Current, null));
            InsertCommand.Parameters.Add(new OleDbParameter("PointCumulatif", OleDbType.Boolean, 0, ParameterDirection.Input, false, 0, 0, "PointCumulatif", DataRowVersion.Current, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("NoSinueuse", OleDbType.Integer, 0, ParameterDirection.Input, false, 0, 0, "NoSinueuse", DataRowVersion.Current, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("IsNull_NuméroForme", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "NuméroForme", DataRowVersion.Original, true, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Original_NuméroForme", OleDbType.Integer, 0, ParameterDirection.Input, true, 0, 0, "NuméroForme", DataRowVersion.Original, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Original_NuméroLigne", OleDbType.Integer, 0, ParameterDirection.Input, false, 0, 0, "NuméroLigne", DataRowVersion.Original, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("IsNull_NumeroPoint1", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "NumeroPoint1", DataRowVersion.Original, true, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Original_NumeroPoint1", OleDbType.VarWChar, 0, ParameterDirection.Input, true, 0, 0, "NumeroPoint1", DataRowVersion.Original, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("IsNull_NumeroPoint2", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "NumeroPoint2", DataRowVersion.Original, true, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Original_NumeroPoint2", OleDbType.VarWChar, 0, ParameterDirection.Input, true, 0, 0, "NumeroPoint2", DataRowVersion.Original, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("IsNull_Distance", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Distance", DataRowVersion.Original, true, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Original_Distance", OleDbType.Double, 0, ParameterDirection.Input, true, 0, 0, "Distance", DataRowVersion.Original, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("IsNull_Rayon", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Rayon", DataRowVersion.Original, true, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Original_Rayon", OleDbType.Double, 0, ParameterDirection.Input, true, 0, 0, "Rayon", DataRowVersion.Original, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("IsNull_Centre", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "Centre", DataRowVersion.Original, true, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Original_Centre", OleDbType.VarWChar, 0, ParameterDirection.Input, true, 0, 0, "Centre", DataRowVersion.Original, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("IsNull_NoSinueuse", OleDbType.Integer, 0, ParameterDirection.Input, 0, 0, "NoSinueuse", DataRowVersion.Original, true, null));
            UpdateCommand.Parameters.Add(new OleDbParameter("Original_NoSinueuse", OleDbType.Integer, 0, ParameterDirection.Input, true, 0, 0, "NoSinueuse", DataRowVersion.Original, null));
À l'update, l'erreur suivante sort :
Aucune valeur donnée pour un ou plusieurs des paramètres requis.
J'ai constaté que l'erreur disparaît lorsque j'enlève "`PointCumulatif` = ?, ", et bien entendu le paramètre qui lui est lié, à savoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
InsertCommand.Parameters.Add(new OleDbParameter("PointCumulatif", OleDbType.Boolean, 0, ParameterDirection.Input, false, 0, 0, "PointCumulatif", DataRowVersion.Current, null));
A la lecture de l'erreur, on dirait que le paramètre n'est pas lié à la colonne, mais je ne vois pas pourquoi il ne le serait pas. J'ai essayé aussi d'ajouter "PointCumulatif" dans
source de la colonne, mais rien n'y fait.

Quel est le problème ?
Ça fait un sérieux bout que je cherche et je suis à cours d'idées.

Merci de vos z'avis z'avisés.