Null

Le
Hugo
Bonjour,

J'ai une base de données remplie par les utilisateurs. Une fois la saisie
terminée, je souhaite leur permettre de visualiser les données enregistrée.
Le problème est que ma base peut contenir des champs avec des "null"

Pour parer cela, j'ai modifié ma requête SQL ainsi :

oCmd.CommandText = "SELECT (Déclaration_règlementaire) FROM FEV
WHERE (Déclaration_règlementaire) IS NOT NULL AND Num_auto=" + a2;
String q1 = (string)oCmd.ExecuteScalar();
String q2 = Convert.ToString(q1);

Mais ça pousse le problème : au lieu de me sortir une erreur de cast (DBNull
en string), il me sort une nullreferenceexception

Comment me sortir de cela ?

Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12194471
Le Thu, 01 Mar 2007 12:10:00 +0100, Hugo a écrit:

Bonjour,

J'ai une base de données remplie par les utilisateurs. Une fois la saisie
terminée, je souhaite leur permettre de visualiser les données
enregistrée.
Le problème est que ma base peut contenir des champs avec des "null"...

Pour parer cela, j'ai modifié ma requête SQL ainsi :

oCmd.CommandText = "SELECT (Déclaration_règlementaire) FROM FEV
WHERE (Déclaration_règlementaire) IS NOT NULL AND Num_auto=" + a2;
String q1 = (string)oCmd.ExecuteScalar();
String q2 = Convert.ToString(q1);

Mais ça pousse le problème : au lieu de me sortir une erreur de cast
(DBNull
en string), il me sort une nullreferenceexception...

Comment me sortir de cela ?

Merci d'avance.



Normalement il faut faire :

object o;

o = oCmd.ExecuteScalar();
if (o == DBNull.Value)
//La requête a renvoyé NULL
else
q1 = (string)o;

Cordialement
Hugo
Le #12194461
Merci, ca fonctionne impeccablement.

"Gilles TOURREAU" a écrit :

Le Thu, 01 Mar 2007 12:10:00 +0100, Hugo a écrit:

> Bonjour,
>
> J'ai une base de données remplie par les utilisateurs. Une fois la saisie
> terminée, je souhaite leur permettre de visualiser les données
> enregistrée.
> Le problème est que ma base peut contenir des champs avec des "null"...
>
> Pour parer cela, j'ai modifié ma requête SQL ainsi :
>
> oCmd.CommandText = "SELECT (Déclaration_règlementaire) FROM FEV
> WHERE (Déclaration_règlementaire) IS NOT NULL AND Num_auto=" + a2;
> String q1 = (string)oCmd.ExecuteScalar();
> String q2 = Convert.ToString(q1);
>
> Mais ça pousse le problème : au lieu de me sortir une erreur de cast
> (DBNull
> en string), il me sort une nullreferenceexception...
>
> Comment me sortir de cela ?
>
> Merci d'avance.

Normalement il faut faire :

object o;

o = oCmd.ExecuteScalar();
if (o == DBNull.Value)
//La requête a renvoyé NULL
else
q1 = (string)o;

Cordialement



Publicité
Poster une réponse
Anonyme