Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Null

2 réponses
Avatar
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.

2 réponses

Avatar
Gilles TOURREAU
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
Avatar
Hugo
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