Comme le fait remarquer blade159, ta variable ObjetValue n'est pas initialisée, donc elle vaut 0. Et en VB, quand tu compares 0 avec Nothing, ça renvoie true (ce qui est d'ailleurs une aberration, mais ce n'est pas la question). En gros, il tente de convertir les valeurs pour pouvoir les comparer, et quand il convertit Nothing en double, ça donne 0.
Normalement, pour vérifier si un objet vaut Nothing, on utilise l'opérateur Is :
If ObjetValue Is Nothing Then ...
Et là ça fonctionne comme prévu... sauf que pour un double, ça n'a pas de sens ! Double est un type valeur (= structure, par opposition à un type référence = classe), et un type valeur ne peut pas être Nothing. Le compilateur le dit d'ailleurs : si tu essaies de tester "ObjetValue Is Nothing", il te balance une erreur.
Tout ça pour dire que ton truc ne marche pas, mais de toutes façons il ne sert à rien 
Par contre, en base de données une colonne de type Double peut éventuellement être nulle... dans ce cas, il vaut mieux que tu utilises le type Nullable(Of Double) : c'est pareil que Double, sauf que ça peut être Nothing
Partager