J'essaie de déterminer comment spécifier null comme valeur de paramètre dans OracleCommand en utilisant le code C# suivant. J'ai extrait les bits pertinents, mais fondamentalement le point est que si sal_id arrive avec la valeur 0, il doit être stocké comme nul. J'ai essayé Null, "Null", et quelques autres choses mais jusqu'ici pas de chance.Gestion des valeurs nulles dans les paramètres OracleCommand
cmd.CommandText = "INSERT INTO tcustomer(cust_id, salutation_id) VALUES(ORADBA.SEQCUST.NEXTVAL, :salid) RETURNING cust_id INTO :newcid" ;
if (sal_id==0) {
cmd.Parameters.Add("salid", Null) ;
} else {
cmd.Parameters.Add("salid", sal_id) ;
}
cmd.Parameters.Add("newcid", OracleDbType.Int32).Direction = ParameterDirection.ReturnValue ;
cmd.ExecuteNonQuery() ;
String newcidval = cmd.Parameters["newcid"].Value.ToString() ;
cmd.Dispose() ;
... Merci eu à travailler avec System.DBNull.Value fait. –
La réponse d'Andrew Hare est faux comme Dan U. posté. C'est System.DBNull.Value –