Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2012, 02:54
manguiti
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Error con formato de fechas y sql

Buenas a todos, me ha ocurrido un tema raro, ya que tenía montado un sistema de registro de usuario, mediante el cual, al hacerlo efectivo, se almacenaban distintas fechas (fecha de alta, fecha ultima modificación, etc...)... Lo tenía funcionando desde hace más de un mes y ahora, de repente, me da error de script al hacer el insert contra la db....

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting datetime from character string.


Para solventar el problema, hice una función para que cambiara el formato de la fecha (método un poco arcaico pero tenía buscar una solución ya), y ayer aparentemente, lo solucioné, ya que si volvía a realizar los insert, tanto como los update, etc....

function formatoFecha(modo)

'Si el modo es 1, devuelve solo fecha
'Si el modo es 2, devuelve fecha y hora

hora = time()

dia = day(Date())
mes = month(Date())
anno = year(Date())

'fechaAlta = dia&"/"&mes&"/"&anno
fechaAlta = date()

'fechaAlta_hora = fechaAlta&" "&hora
fechaAlta_hora = now()


if modo = 1 then
formatoFecha = fechaAlta
else if modo = 2 then
formatoFecha = fechaAlta_hora
end if
end if

end function

Viendo la consulta que arroja... sería algo así...

INSERT INTO suscriptores ( email, password, nombre,apellidos ,sexo ,fecha_nacimiento ,pais ,comunidad ,formacion ,nivel_profesional, fechaalta,fecha_ultimo_acceso,fecha_ultima_modific acion, origen,fechaalta_cadena ) VALUES ( 'correo, 'j', 'j', 'j', 'Masculino', '01/01/1985', 'pais', 'comunidad', 'formacion', 'nivel', '21/02/2012','21/02/2012 09:32:12 a.m.','21/02/2012 09:32:12 a.m.','origen','21/02/2012 09:32:12 a.m.' )

Lo he modificado de tal forma, que el formato sea dd/mm/aaaa, aaaa/mm/dd pero no hay forma....

Lo extraño es que antes si me funcionaba utilizando las funciones date() y now()...

Gracias anticipadas

Última edición por manguiti; 21/02/2012 a las 02:59