58 votes

Comment vérifier si un datareader est nul ou vide ?

J'ai un datareader qui renvoie une liste d'enregistrements d'une base de données sql server. J'ai un champ dans la base de données appelé "Additional". Ce champ est 50% du temps vide ou nul.

J'essaie d'écrire un code qui vérifie si ce champ est nul. La logique derrière cela est la suivante : Si le champ "Additional" contient du texte, il faut afficher l'information, sinon il faut cacher le champ.

J'ai essayé :

if (myReader["Additional"] != null)
{
    ltlAdditional.Text = "contains data";
}
else
{
     ltlAdditional.Text = "is null";
}

Le code ci-dessus me donne cette erreur :

Détails de l'exception : System.IndexOutOfRangeException : Supplémentaire

Toute aide serait grandement appréciée...


Voir aussi :

Vérifier le nom de la colonne dans un objet SqlDataReader

0voto

Ce site

Exemple :

objCar.StrDescription = (objSqlDataReader["fieldDescription"].GetType() != typeof(DBNull)) ? (String)objSqlDataReader["fieldDescription"] : "";

-1voto

Jason Points 819

AMG - Désolé à tous, j'avais un moment de blondeur. Le champ "Additional" a été ajouté à la base de données après que j'ai conçu la base de données.

J'ai mis à jour tout mon code pour utiliser ce nouveau champ, mais j'ai oublié de mettre à jour le code du datareader qui appelle la sélection des champs de la base de données, et qui n'appelle donc pas "Additional".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X