OVH Cloud OVH Cloud

Comment tester une valeur NULL

4 réponses
Avatar
Sylvain
Bonjour à tous,

Je récupère un ensemble de lignes dans une table dans un dataset.
Parmis les enregistrements récupérés,certains possèdent des champs dont la
valeur est NULL.
Du coup ça plante...
J'ai essayer de faire un test avec la fonction IsDBNull qui permet justement
de tester si une valeur est NULL mais elle aussi plante....(car la valeur
qu'elle teste est NULL)

Donc ma question est: comment faire pour tester si une valeur est à NULL ?

Merci pour votre aide.

4 réponses

Avatar
dlab
Si c'est en VB.Net
tu peux essayer
if champs is nothing then

end if

"Sylvain" a écrit :

Bonjour à tous,

Je récupère un ensemble de lignes dans une table dans un dataset.
Parmis les enregistrements récupérés,certains possèdent des champs dont la
valeur est NULL.
Du coup ça plante...
J'ai essayer de faire un test avec la fonction IsDBNull qui permet justement
de tester si une valeur est NULL mais elle aussi plante....(car la valeur
qu'elle teste est NULL)

Donc ma question est: comment faire pour tester si une valeur est à NULL ?

Merci pour votre aide.


Avatar
Norm
si tu testes un champ qui existe et dont la valeur est nulle isdbnull ne
plantera pas

if not isdbnull(row("monchamp")) then

else

end if
par contre, si ton champ n'exsite pas, isdbnull n'est pas approprié!


"Sylvain" a écrit dans le message de
news:
Bonjour à tous,

Je récupère un ensemble de lignes dans une table dans un dataset.
Parmis les enregistrements récupérés,certains possèdent des champs dont la
valeur est NULL.
Du coup ça plante...
J'ai essayer de faire un test avec la fonction IsDBNull qui permet
justement
de tester si une valeur est NULL mais elle aussi plante....(car la valeur
qu'elle teste est NULL)

Donc ma question est: comment faire pour tester si une valeur est à NULL ?

Merci pour votre aide.


Avatar
Sylvain
Je ne me trompais dans l'utilisation de IsDbNULL.
Ma colonne existait et je ne pouvais pas utiliser IsNothing.
Le problème est qu'il y a une limitation dans l'utilisation de IsDBNULL.
Elle ne permet pas de faire le test sur un objet de type String.
Cela marchait sous VB6 mais plus sous .NET...



"Norm" wrote:

si tu testes un champ qui existe et dont la valeur est nulle isdbnull ne
plantera pas

if not isdbnull(row("monchamp")) then

else

end if
par contre, si ton champ n'exsite pas, isdbnull n'est pas approprié!


"Sylvain" a écrit dans le message de
news:
> Bonjour à tous,
>
> Je récupère un ensemble de lignes dans une table dans un dataset.
> Parmis les enregistrements récupérés,certains possèdent des champs dont la
> valeur est NULL.
> Du coup ça plante...
> J'ai essayer de faire un test avec la fonction IsDBNull qui permet
> justement
> de tester si une valeur est NULL mais elle aussi plante....(car la valeur
> qu'elle teste est NULL)
>
> Donc ma question est: comment faire pour tester si une valeur est à NULL ?
>
> Merci pour votre aide.





Avatar
Norm
isdbnull est utilisé pour tester le champ dans une bd et non un objet.

par exemple si une requete retourne un dataset avec des colonnes de types
stringdont certaine valeurs sont nulles, alors isdbnull peut etre utilisé
par contre, dim s as string et ensuite if isdbnull(s) then .. alors ça
non ca marche pas pour tester un objet.


"Sylvain" a écrit dans le message de
news:
Je ne me trompais dans l'utilisation de IsDbNULL.
Ma colonne existait et je ne pouvais pas utiliser IsNothing.
Le problème est qu'il y a une limitation dans l'utilisation de IsDBNULL.
Elle ne permet pas de faire le test sur un objet de type String.
Cela marchait sous VB6 mais plus sous .NET...



"Norm" wrote:

si tu testes un champ qui existe et dont la valeur est nulle isdbnull ne
plantera pas

if not isdbnull(row("monchamp")) then

else

end if
par contre, si ton champ n'exsite pas, isdbnull n'est pas approprié!


"Sylvain" a écrit dans le message de
news:
> Bonjour à tous,
>
> Je récupère un ensemble de lignes dans une table dans un dataset.
> Parmis les enregistrements récupérés,certains possèdent des champs dont
> la
> valeur est NULL.
> Du coup ça plante...
> J'ai essayer de faire un test avec la fonction IsDBNull qui permet
> justement
> de tester si une valeur est NULL mais elle aussi plante....(car la
> valeur
> qu'elle teste est NULL)
>
> Donc ma question est: comment faire pour tester si une valeur est à
> NULL ?
>
> Merci pour votre aide.