2011-04-20 2 views
0

J'ai un sous qui met à jour un formulaire à certaines occasions. Parfois, j'ai besoin de mettre à jour un formulaire lorsque certaines des entrées de ma table auront toujours une valeur NULL. J'ai utilisé ce code pour empêcher la sous d'essayer de remplir les champs de formulaire avec des données NULL:Quel est le bon moyen de vérifier si une entrée dans une table db est nulle?

If IsDBNull(CID.Single().Age) = False Then 
     txtAge.Text = CID.Single().Age 
    End If 

Mais je reçois l'erreur « objet Nullable doit avoir une valeur. » quand il essaie de remplir txtAge.Text. Cette méthode fonctionne sur d'autres domaines.

Si CID.Single(). Age est NULL, ne devrait-il pas ignorer cette action?

Répondre

1

L'erreur que vous avez obtenue ("L'objet nullable doit avoir une valeur.") Suggère que Age est un objet nullable.

Lorsque vous testez un type nullable pour une valeur, utilisez la propriété HasValue pour voir si elle contient une valeur réelle.

If CID.Single().Age.HasValue Then 
    txtAge.Text = CID.Single().Age 
End If 
+0

LINQ to SQL vous permet de convertir des champs à partir d'une base de données qui permettent à un null System.Nullable type. Cela signifie qu'une valeur NULL dans la base de données est Nothing dans VB ou null dans C#. Ce ne sera pas DBNull – cadrell0

0

Comparer à DBNull.Value comme dans

si la ligne ("valeur") est DBNull.Value alors faire X

Questions connexes