Bonjour,

Je suis en train de développer une appli C# se connectant à une base Oracle, et j'ai un soucis quand je veux faire un update.

Sachant que item_id est un number(5) en base et this.id, un int valant 1 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
cmd.Connection = conn.open_Connection();
cmd.CommandText = "update " + schema + ".item set item_name= :1 where item_id = :10";
 
//replacement of parameters
cmd.Parameters.Add(new OracleParameter("1", OracleDbType.Varchar2, this.name, ParameterDirection.Input));
cmd.Parameters.Add(new OracleParameter("10", OracleDbType.Int32, this.id, ParameterDirection.Input));
cmd.CommandType = CommandType.Text;
 
int rowsUpdated = cmd.ExecuteNonQuery();
Dans ces conditions aucune mise à jour n'est faite. Mais si je remplace en dur ":10" par "1" - sachant qu'il y a bien un item_id valant 1 en base, ça marche.

Quelqu'un aurait une idée, svp?