Pasar un valor Null desde ASP.Net

Me puedes ayudar a encontrar una solución a este problema que tengo.
Mira tengo una aplicación web desarrollada en asp.net 2005, esta se conecta a una BD Sql server 2005,
dicha aplicación la he tratado de hacer en capas, tal es así que tengo separada mi capa de negocio de la
capa de datos.
Ok el problema es que al guardar información en la BD para los campos tipo Date a ese tipo de campos
no les estoy pudiendo pasar un Valor Null, y en ciertos casos necesito pasarle un Null pero no me deja
por ejemplo
tengo declarado un objeto llamado obj, este es una instancia de la clase ventas, dentro de la clase ventas
tengo todas las propiedades definidas, propiedades que son los campos de mi tabla en la BD, tengo algo así
--Variables Miembros
Friend m_fpago As Nullable(Of Date) = Nothing
--Propiedades de la clase
Public Property fpago() As Nullable(Of Date)
Get
Return (m_fpago)
End Get
Set(ByVal Value As Nullable(Of Date))
m_fpago = Value
End Set
End Property
Cuando desde mi aplicación en asp mando a guardar un valor null en el campo fpago de esa clase me manda error
ya he probado cosas como estas.
obj.fpago = IIf(T1.Text.Trim = "", System.DBNull.Value, T1.Text.Trim)
obj.fpago = SqlTypes.SqlDateTime.Null
obj.fpago = Null
obj.fpago = system.DBNull.Value
Me manda errores como este
"Value of type "System DBNull" cannot be converted to "System. NullAble(Of Data)
En todos los casos mande errores o simplemente no guarda nada, no he podido pasarle un null a ese campo.
Tienes alguna idea de como le paso un Null a un campo tipo fecha desde asp.net
2

2 respuestas

Respuesta
1
Yo te recomendaría que en la función de la clase que guarda los datos en la base, verifiques si te están pasando un dato del tipo Null (seguramente será del tipu System. Null) y lo conviertas a SqlDateTime. Null, que es el que se usa para escribir datos nulos en un campo Date de SQL.
Respuesta
-1
Si recuerdo seria algo como obj.fpago = Nothing 
Con respecto a la que no guarde en la base de datos, le debes asignar NULL al campo en el query sql que utilices.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas