Foros del Web » Programando para Internet » ASP Clásico »

Fecha incorrecta al convertir con CDate...

Estas en el tema de Fecha incorrecta al convertir con CDate... en el foro de ASP Clásico en Foros del Web. Ante todo saludos amigos del foro, espero esten todos bien. He convertido una variable tipo TEXTO a FECHA con la funcion CDate y el problema ...
  #1 (permalink)  
Antiguo 19/12/2007, 22:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 123
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Fecha incorrecta al convertir con CDate...

Ante todo saludos amigos del foro, espero esten todos bien. He convertido una variable tipo TEXTO a FECHA con la funcion CDate y el problema es que al incluirlo en la bd me da siempre como fecha 30/12/1899, no me muestra la fecha que le estoy dando a convertir, que es seleccionada de un calendario y enviada a un campo text. Es por ello que utilizo la funcion CDate. Le muestro el código para que entiendan mejor.

VarFecha = Request.Form("entrada6")
var_date = CDate(VarFecha)


set con = server.CreateObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("bdsiop.mdb")
set rs = server.CreateObject("ADODB.Recordset")
sql="Insert Into recibo_ingreso (fecha) values (" & var_date & ")"
rs.open sql,con,1,2
con.close
Set rs=Nothing
Set con=Nothing
  #2 (permalink)  
Antiguo 20/12/2007, 06:29
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Fecha incorrecta al convertir con CDate...

Haz un response.write(CDate(VarFecha)) para que veas lo que estás metiendo en la base de datos...

Y luego te das una vueltita por la página de formatos de fecha de Mocosoft...

Ojo, que el paso más importante es lo primero que he puesto, el response.write(...
__________________
Kelpie
  #3 (permalink)  
Antiguo 20/12/2007, 10:24
 
Fecha de Ingreso: noviembre-2007
Mensajes: 123
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Re: Fecha incorrecta al convertir con CDate...

Estuve viendo y llegue a la conclusión. Si estoy convirtiendo una cadena de carácter en fecha, lo mas lógico es que cuando utilice el Insert Into, debe ser tipo fecha. Que pasaba(Corrígeme si me equivoco), La conversión de fecha estaba bien, pero cuando era incluida en el Insert Into como numérico (" & var_date & "), la BD interpretaba el valor ingresado como una fecha predeterminada(30/12/1899). Cambié en la sentencia sql y le agregue el símbolo numeral(#) y quedo de la siguiente manera:

sql="Insert Into recibo_ingreso (fecha) values (#" & var_date & "#)"

Ingresé una fecha(20/12/2007) y en el campo de la BD lo agrego tal cual. Cuando ingreso una fecha(01/12/2007), lo ingresa en la BD en formato ingles. Es decir, cuando el día es menor a 10, la BD coloca el formato ingles para el registro actual(12/01/2007).

¿Que podría ser?


NOTA: Sería un despelote de fecha la BD

Última edición por garciamod270304; 20/12/2007 a las 11:40
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 20:11.