Pregunta: | 52979 - COMO CONTROLO LO VALORES NULOS DE UN CAMPO DE UNA TABLA |
Autor: | Julio Mogrovejo |
SOy nuevo en Visual .Net Ante todo gracias por su apoyo Estoy mostrando valores de los campos de una tabla a mis labels, cada vez que presiono un boton siguiente y cuando el campo del registro no tiene informacion (NULO) me sale el siguiente error: Excepción no controlada del tipo 'System.InvalidCastException' en microsoft.visualbasic.dll Información adicional: La conversión del tipo 'DBNull' al tipo 'String' no es válida. he tratado de controlar el error asi: if IsDBNull(ds.Tables("mitabla").Rows(I).Item(4).GetType) =True Then MsgBox("No hay data en el campo") LblAlt_C.Text = "" Else LblAlt_C.Text = ds.Tables("mitabla").Rows(I).Item(4) End If !estoy usando una tabla de access! alguien me puede ayudar. Mil gracias |
Respuesta: | Braulio Romero |
puedes modificar tu codigo asi: if IsDBNull(ds.Tables("mitabla").Rows(I).Item(4)) Then MsgBox("No hay data en el campo") LblAlt_C.Text = "" Else LblAlt_C.Text = ds.Tables("mitabla").Rows(I).Item(4) End If o bien, hacer solamente esto: LblAlt_C.Text = "" & ds.Tables("mitabla").Rows(I).Item(4) u otra opciones es que como el dato viene nulo, a veces los dataset hace como que el campo no esxiste, entonces tienes que validar que realmente exista el campo, independintemente que traiga NULL o no ejemplo: if ds.Tables("mitabla").Rows(I).Item(4) is nothing = false then LblAlt_C.Text = ds.Tables("mitabla").Rows(I).Item(4) else LblAlt_C.Text = "" endif |
Respuesta: | Migue Rueda |
Es un error muy fácil de controlar solo tienes q manejar excepciones, lo q tienes q hacer es lo siguiente: Try Aqui pon todos los objetos q estan recibiendo datos, y q pueden quedar blanco, para q la excepcion maneje el error q se produce x el ingreso de datos en blanco. x ejemplo puede ser algo asi: c=txtejemplo.text catch ex as exception MsgBox(ex.Message) end try como ves en el ejemplo q te puse, se puede ver q en algun momento tu puedes ingresar en la caja de texto un dato vacio(NULL) pero el try va a manejar ese error y en vez de cortar la ejecución de tu programa te va a mandar un mensaje de error pero tu programa va a seguir corriendo Esto se llama manejo de una excepción y eso te sirve para todo tipo de ingreso de datos, como las cajas de texto, archivos, bases de datos, etc. Creo q con eso esta saldada tu duda. Migue |