Foros del Web » Programando para Internet » ASPX (.net) »

Pasar un valor NULL a un campo de la BD

Estas en el tema de Pasar un valor NULL a un campo de la BD en el foro de ASPX (.net) en Foros del Web. Amigos. COmo hago para pasarle un valor NULL a un campo de una BD desde un aplicacion ASP.NET, el asunto es asi, estoy agregando un ...
  #1 (permalink)  
Antiguo 20/10/2008, 11:45
Avatar de Romi28x  
Fecha de Ingreso: octubre-2007
Mensajes: 185
Antigüedad: 16 años, 6 meses
Puntos: 0
Pasar un valor NULL a un campo de la BD

Amigos.

COmo hago para pasarle un valor NULL a un campo de una BD desde un aplicacion ASP.NET, el asunto es asi, estoy agregando un registro a la BD (addNew) y voy agregando a cada campo su respectivo valor que ya lo tengo en unas varibles, uno de los campos de la Tabla va en null y es ahi en donde me piedo.

por ejmplo
!Tarjeta="123456"
!ID="1234566"
!Nombre="XXXXX"
!Fecha=Null

como le paso el valor null a el campo fecha.

Slds.
  #2 (permalink)  
Antiguo 20/10/2008, 12:56
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Pasar un valor NULL a un campo de la BD

Que tal así:

Fecha = system.DBNull.Value


Donde fecha es un objeto del tipo IParameter.
  #3 (permalink)  
Antiguo 20/10/2008, 13:52
Avatar de Romi28x  
Fecha de Ingreso: octubre-2007
Mensajes: 185
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Pasar un valor NULL a un campo de la BD

Gracias amigo por responder....

Eso que me estas sugeriendo ya lo intente y me manda error, el error dice esto.
"Value of type "System DBNull" cannot be converted to "System.NullAble(Of Data) .

el campo fecha es del tipo System.Nullable(Of data) no se que tanto tenga que ver esto.
  #4 (permalink)  
Antiguo 20/10/2008, 17:58
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Pasar un valor NULL a un campo de la BD

Porque no nos pones un poco más de código... porque no logro entender muy bien que estas haciendo.
  #5 (permalink)  
Antiguo 21/10/2008, 08:19
Avatar de Romi28x  
Fecha de Ingreso: octubre-2007
Mensajes: 185
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Pasar un valor NULL a un campo de la BD

OK dejame explicarte.

Estoy ingresando un nuevo registro a una tabla dentro de una BD en sql server 2005, dicha tabla tiene X cantidad de campos que deben ser llenados con la informacion que ya traigo capturada en ciertas variables, dentro de esos campos de esas tabla tengo campos de tipo fecha y es ahi en donde me da el problema a uno de esos campos tipo fecha le debo pasar un Null ya que no se registrara nada. ya he probado de varias maneras pasarle el Null y me lo rechaza.

he probado asi.

obj.Fecha=Null no es posible.
obj.Fecha=DBNull.Value no es posible.
obj.Fecha.Value=DBNull.Value no es posible.
obj.Fecha.Value=SqlTypes.SqlDateTime.Null no es posible.


si te fijas he probado de varias maneras y no me deja almacenar un Null en dicho campo, tengo que pasarle una fecha y para mi proposito el campo debe ir en Null.

que dices, tienes alguna idea...
  #6 (permalink)  
Antiguo 21/10/2008, 09:41
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Pasar un valor NULL a un campo de la BD

Preguntas:

obj, de qué tipo es?

Y la propiedad Fecha, de qué tipo es?
  #7 (permalink)  
Antiguo 21/10/2008, 11:24
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Pasar un valor NULL a un campo de la BD

seguramente fecha lo tiene como nullable
Nullable(of DateTime) VB.net
o Nullable<DateTime> C#

el detalle esta no en tu capa de negocios si no en la de datos y deberías hacer algo como

sqlparameter.AddWithValue("fechax",fecha.hasValue? fecha.Value:DBNull.Value)

como te dice Daniel.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5

Última edición por Peterpay; 21/10/2008 a las 12:31
  #8 (permalink)  
Antiguo 21/10/2008, 12:27
Avatar de Romi28x  
Fecha de Ingreso: octubre-2007
Mensajes: 185
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Pasar un valor NULL a un campo de la BD

Amigos gracias por la colaboracion, ok efectivamente el campo fecha que es una propiedad de una clase esta declarado dentro de la clase como System.NullAble(Of Date).

Obj es una instancia de esa clase, y con obj acceso a las propiedades de esa clase, dentro de la clase tengo declaradas las funciones para hacer insert, delete, select ect, ene ste caso del ejemplo lo que estoy asiendo agregando un nuevo registro.

aun no estoy claro que tiene que ver el que declare la propiedad fecha System.NullAble(Of Date).

en la clase esta declarada de esta manera.

Public Property fecha() As Nullable(Of Date)
Get
Return (m_fecha)
End Get
Set(ByVal Value As Nullable(Of Date))
m_fecha = Value
End Set
End Property


espero y les sirva la informacion que les paso....
  #9 (permalink)  
Antiguo 15/03/2013, 11:56
 
Fecha de Ingreso: marzo-2013
Ubicación: Lima, Chorrillos
Mensajes: 1
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Pasar un valor NULL a un campo de la BD

Yo también me he roto la cabeza tratando de mandar nulos a la BD, lo que te recomendaría es que lo manejes desde el mismo gestor de BD, por ejemplo para SQL Server, creas una variable y le asignas esto:

DECLARE @V_FECHA DATE

SET @V_FECHA=
CASE
WHEN @FECHA= '0001-01-01' THEN NULL
ELSE @EFCHA
END

Donde @FECHA es el parametro que está entrando desde el Visual y @V_FECHA es la variable que estás creando en el SQL SERVER.

Espero haberte ayudado. Cualquier consulta avisa.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:02.