DataReader

09/08/2004 - 05:49 por Eyder | Informe spam
Hola grupo..

Mi porblema es el siguiente.
Yo hago una consulta con un datareader que me devuelve varios campos que son
asignados a lables (label1.text = reader("Campo"). El problema es que
avecess alguno de los campos devuelven DBNull, y cuando lo va a asignar a la
propuedad Text del lable, sale un error que dice que (La conversión del tipo
'DBNull' al tipo 'String' no es válida).
Lo que quiero es saber como hago para prevenir eso, como hago para hacer una
condicion IF para que cuendo un campo sea nulo no asigne nada..

Gracias..
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
09/08/2004 - 07:50 | Informe spam
Yo hago una consulta con un datareader que me devuelve varios campos
que son asignados a lables (label1.text = reader("Campo"). El
problema es que avecess alguno de los campos devuelven DBNull, y
cuando lo va a asignar a la propuedad Text del lable, sale un error
que dice que (La conversión del tipo 'DBNull' al tipo 'String' no es
válida).
Lo que quiero es saber como hago para prevenir eso, como hago para
hacer una condicion IF para que cuendo un campo sea nulo no asigne
nada..



Si se va a asignar a una variable o propiedad de tipo String lo mas simple
es usar el metodo ToString de DBNull que devuelve un String vacio:

label1.text = reader("Campo").ToString()

Si no es un String a lo que debes asignar utiliza el metodo IsDBNull del
DataReader, pero deberas usar el indice de la columna en lugar del nombre
(puedes usar GetOrdinal para obtener el indice). Tambien puedes comparar el
objeto devuelto contra DBNull.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo

Preguntas similares