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..

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Sergiou
09/08/2004 - 09:06 | Informe spam
Creo que todos estos problemas los evitarias usando las tecnicas data
binding de las que provee la plataforma .net.

Si tienes dudas de como puedes hacerlo con data binding avísa.

Saludos.

Eyder wrote:

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..


Respuesta Responder a este mensaje
#3 sirtim
11/08/2004 - 15:09 | Informe spam
¿Podrías poner un ejemplo *** SENCILLO*** de hacer databinding? No se, por
ejemplo una BD Access (p.e. BD1.mdb) con una tabla (p.e. "Tabla1"), con tres
campos (p.e. Campo1, Campo2, Campo3) y que muestre en un webform con dos
textboxes (p.e. TextBox1 y TextBox2) los valores de los dos primeros campos
para un cierto valor del campo 3 (p.e. la información procedente de "Select
Campo1, Campo2 FROM Tabla1 WHERE Campo3='Valor' ")

Es que estoy haciendo pruebas y me cuesta muchísimo encontrar ejemplos que
sólo muestren una técnica de hacer una sola cosa. Todos los ejemplos típcos
se ambientan y al final te haces un lío!

Creo que todos estos problemas los evitarias usando las tecnicas data
binding de las que provee la plataforma .net.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida