Bonjour,

j'ai une erreur assez incompréhensible lors d'une mise à jour :

"Une opération OLE-DB en plusieurs étapes a généré des erreurs. Vérifiez chaque valeur d'état OLE-DB disponible. Aucun travail n'a été effectué."



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
 
            OleDbCommand commande = new OleDbCommand();
            commande.Connection = connection;
            commande.CommandType = CommandType.Text;
            commande.CommandText = "UPDATE Produits SET stock = stock - @stock WHERE nom_produit = @nom_produit";
            OleDbParameter stockParam = new OleDbParameter();
            stockParam.ParameterName = "@stock";
            stockParam.OleDbType = OleDbType.Integer;
            OleDbParameter nomParam = new OleDbParameter();
            nomParam.ParameterName = "@nom_produit";
            stockParam.OleDbType = OleDbType.Char;
 
            commande.Parameters.Add(stockParam);
            commande.Parameters.Add(nomParam);
 
            if (connection.State == ConnectionState.Closed) connection.Open();
 
            foreach (KeyValuePair<Produit, Int32> keyValue in Global.CommandeEnCours.Consommations)
            {
                nomParam.Value = keyValue.Key;
                stockParam.Value = keyValue.Value;
 
                commande.ExecuteNonQuery();
            }
            connection.Close();
L'erreur est levée à l' ExecuteNonQuery().

Je précise que la connection est utilisée pour des actions antérieures et je n'ai aucun soucis.

voici la connection :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
private static string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\GestionBar\\Ping.mdb;Persist Security Info=True";
Une idée?

Merci