Foros del Web » Programación para mayores de 30 ;) » .NET »

Formato de fechas al insertar en bd con parámetros

Estas en el tema de Formato de fechas al insertar en bd con parámetros en el foro de .NET en Foros del Web. Buenos días. Estoy tratando de insertar mediante un parámetro una fecha en la base de datos sql server en vb.net. If IsDBNull(_cttxtDatos_6.Text) Or Not IsDate(_cttxtDatos_6.Text) ...
  #1 (permalink)  
Antiguo 19/10/2016, 02:05
 
Fecha de Ingreso: noviembre-2009
Mensajes: 15
Antigüedad: 15 años
Puntos: 0
Formato de fechas al insertar en bd con parámetros

Buenos días.
Estoy tratando de insertar mediante un parámetro una fecha en la base de datos sql server en vb.net.

If IsDBNull(_cttxtDatos_6.Text) Or Not IsDate(_cttxtDatos_6.Text) Then
comando.Parameters.Add("@FAL", SqlDbType.DateTime).Value = DBNull.Value
Else
comando.Parameters.Add("@FAL", SqlDbType.DateTime).Value = FormatDateTime(_cttxtDatos_6.Text, DateFormat.GeneralDate)

End If

Yo le pongo la fecha: 31/12/2015, pero al guardar en la base de datos lo almacena así: Dic 31 201
y por mucho que cambie el formato, siempre me lo guarda con este formato. ¿Cómo puedo decirle que lo almacene en formato dd/mm/aaaa?
Gracias
  #2 (permalink)  
Antiguo 20/10/2016, 04:33
 
Fecha de Ingreso: noviembre-2009
Mensajes: 15
Antigüedad: 15 años
Puntos: 0
Respuesta: Formato de fechas al insertar en bd con parámetros

Me respondo yo misma:
El campo de la base de datos es campo Nvarchar, y al declarar el parámetro le estoy pasando datatime.
Esto es lo que yo declaraba:
comando.Parameters.Add("@FAL", SqlDbType.DateTime).Value = FormatDateTime(_cttxtDatos_6.Text, DateFormat.ShortDate)

Pero como el campo de la base de datos es nvarchar, la declaración correcta es:
comando.Parameters.Add("@FAL", SqlDbType.NVarChar).Value = FormatDateTime(_cttxtDatos_6.Text, DateFormat.ShortDate)

Espero que a alguien le haya servido

Etiquetas: fecha, formatos, vbnet
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 10:50.