2012-04-26 19 views
6

¿Cómo puedo verificar si un DataTable nunca se ha configurado, lo que significa que será Null o Nothing? No me refiero a un DataTable vacío.Cómo verificar si una tabla de datos es nula o no tiene nada

Por ejemplo:

Dim dt As DataTable = TryCast(Session("dt"), DataTable) 

If dt.Rows.Count <> 0 Then 
    'Do something ! 
End If 

Si Session("dt") nunca se ha establecido o se pierde en la memoria por alguna razón, dt.Rows.Count <> 0 arrojará esta excepción:

Referencia a objeto no establecida como instancia de un objeto.

+0

Para cualquier otra persona para encontrar este y quiere saber más echa un vistazo a las respuestas en [¿Qué es un NullReferenceException, y cómo lo arreglo ?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – Bugs

Respuesta

12

preferidos:

If dt Is Nothing Then ... 

o (VB6 como)

If IsNothing(dt) Then ... 

IsNothing Function

+0

hehe ... por supuesto ... ¿por qué estaba siendo tan tonto? justo ahora ... Gracias ..: D – lawphotog

+5

@LaurenceNyein su tontería resultó útil para mí :) –

0

Si el valor de tipo de datos es varbinary (max), utilice

if dt.rows(0).item(2) Is DBNull.Value then... 
+0

Por favor, vuelva a leer la pregunta. Solicita explícitamente comprobar cuándo no se ha establecido un 'DataTable'. Eso significa que tu código fallará. – Bugs

Cuestiones relacionadas