Bonjour,

J'expose mon problème :

Je souhaite insérer une valeur prédéfinie venant d'une table de ma base. Cette valeur est de type number(6,3).
Je veux donc l'insérer dans ma table principale au champ kmr_km_sup qui est lui aussi de type number(6,3).

Cependant lors de mon exécution j'ai une erreur, qui est la suivante :
ORA-01722: Nombre non valide

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
OracleConnection con_insert = new OracleConnection(db1);
                        con_insert.Open();
                        OracleCommand cmd1 = new OracleCommand("insert into kmr_km_reel (kmr_id, ligne, groupe_veh, famille_veh, numero_veh, periode,kmr_date, depot, kmr_type, kmr_categorie_evt, kmr_cause, kmr_km_perdus, kmr_km_sup, kmr_km_hlp_perdus, KMR_KM_HLP_SUP, kmr_km_compteurs, commentaire_tech) values('',NULL,'BUS',NULL,'" + TextBox1.Text + "','" + RenvoiPeriode() + "','" + RenvoiDate() + "','" + DropDownList1.SelectedValue + "','" + nom_page + "',NULL,'" + DropDownList2.SelectedValue + "',NULL,'" + dr2.GetValue(1) + "',NULL,NULL,NULL,'" + TextBox3.Text + "')", con_insert);
                        cmd1.ExecuteNonQuery();
                        con_insert.Close();
                        BindDataTechniques();
Le résultat de dr2.GetValue(1) est bien celui attendu.

J'ai même essayé de caster le résultat de ma requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
float t = float.Parse(dr2.GetValue(1).ToString());
et de remplacer dr2.GetValue(1) par t mais rien n'y fait l'erreur persiste.