J'utilise actuellement un lecteur de données SQL (dans vb.net) pour extraire un objet article via un proc stocké à partir d'une base de données SQL Server 2008. Une partie de cet objet comprend les deux propriétés ci-dessous:Comment renvoyer une valeur à un sqldatareader si la valeur est null?
theArticle.Truthfulness = ((myReader.GetInt32(myReader.GetOrdinal("Truthfulness"))))
theArticle.Relevance = ((myReader.GetInt32(myReader.GetOrdinal("Relevance"))))
Mon problème est que la véracité et la pertinence peuvent renvoyer une valeur NULL et cela crée la fonction de tomber.
Je pense que je comprends pourquoi. Je demande une valeur entière (getin32) et parce que null est retourné il échoue.
Comment accepter la valeur nulle de la base de données afin qu'elle ne tombe pas?
ou attraper l'exception – Mark
Oui, vous pouvez le faire aussi - mais il est préférable d'éviter une exception que d'en attraper et de gérer un (en général) –
@marc_s: D'accord avec votre commentaire sur ma réponse. Supprimer le. Merci de le préciser. Votre commentaire était "Je ne pense pas que cela fonctionnera, car si la colonne db est NULL, l'appel .GetInt32() échouera avec une exception - vous ne récupérerez pas une valeur NULL que vous pourrez ensuite ajouter à la" ?? "opérateur ...." – Mahin