Sigo teniendo problemas con campos sin datos en la consulta a bases de
datos.
El caso es que tengo diseñado un WebForm para mostrar la información de un
registro de una determinada tabla. La tabla está en una Base de Datos en SQL
Server.
El enlace es a través de un SQLDataSet, con una sencilla consulta "Select *
FROM tblMyTable".
Hasta aquí todo bien, veo el registro seleccionado y puedo moverme registro
a registro con un
Dim dr As DataRow
dr = Me.DataSet1.tblMyTable.DefaultView(position).Row
Siendo position una variable Integer que me permite moverme entre registros.
En el formulario tengo cargados unos controles TextBox en donde puedo ver el
contenido de los campos.
El probleme viene cuando llego a un registro con algún campo sin datos, y el
mensaje de error es:
Detalles de la excepción: System.InvalidCastException: La conversión del
tipo 'DBNull' al tipo 'String' no es válida.
Error de código fuente:
Línea 702: Get
Línea 703: Try
Línea 704: Return
CType(Me(Me.tabletblNameFam.mCommentsColumn),String)
Línea 705: Catch e As InvalidCastException
Línea 706: Throw New StrongTypingException("No se puede
obtener el valor porque es DBNull.", e)
Archivo de origen: c:\inetpub\wwwroot\wtaxa\frame_edition\dsNamefam1.vb
Línea: 704
¿Hay alguna forma de evitar este tipo de errores cuando la apliciación se
encuentre con algún campo vacío en la Base de Datos?, ¿Porqué devuelve un
DBNull en vez de una cadena vacía, si los campos son de texto?.
Hace algo más de un mes hice una consulta pareceida, pero tuve que
ausentarme por unos días y a la vuelta no pude ver ni mi propio mensaje,
desde aquí quisiera dar las gracias a los que contestaran al mensaje, y
pedir perdón por no haber respondido en su momento.
Muchas gracias por todo
Un saludo
Leer las respuestas