Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   datetimetostr mala conversion (https://www.clubdelphi.com/foros/showthread.php?t=53108)

dfarias 11-02-2008 11:54:24

datetimetostr mala conversion
 
Estoy intentando convertir el valor 39489,474262 que equivale al 11:02:2008 11:22:56 y al grabar en en el sql

sql:='update movihoras set salida= ' + DateTimeToStr(ahora)

me queda registrada la fecha como 11:02:2008 11:23:00


Alguien sabe porque le suma un minuto mas?

Muchas gracias

Lepe 11-02-2008 12:37:03

FormatDatetime('mm/dd/yyyy hh:nn:ss', ahora);

Supongo que deberás usar el formato mm/dd para tu motor de bases de datos.


Saludos.

dfarias 11-02-2008 14:02:14

El problema esta en que redondea los segundos y no se porque.

Lepe 11-02-2008 21:15:09

¿qué base de datos usas?

ocram 11-02-2008 23:05:59

Que tal dFarias??

Si lo que necesitas es que te guarde la hora en que estas guardando el registro puedes utilizar directamente la funcion getdate de SQL y asi te ahorras el transporte y conversion de datos

en vez de escribirlo asi:
sql:='update movihoras set salida= ' + DateTimeToStr(ahora)
Intenta con esto:
sql:='update movihoras set salida= GetDate()'

Intenta con eso y nos platicas como te fue o en su defecto si era esto lo que necesitabas.

PepeLolo 11-02-2008 23:11:14

Hola,
si lo que necesitas es pasar un valor de fecha, lo más recomendado en usar siempre parámetros, estos no daran en la vida dolores de cabeza.

Código SQL [-]
update mitabla set mifecha = :mifecha

en delphi

Código Delphi [-]
MiDataSet.ParamByname('mifecha').AsDateTime := dFechaTiempo

Un saludo

dfarias 12-02-2008 09:58:34

Tema resuelto. El problema esta en que el campo donde guardo la fecha y hora es SmallDateTime y estos campos redondean automaticamente.
No puedo usar la hora del sqlserver porque puede haber un lapso de 30 segundos entre en momento del evento y en momento de la grabacion. Con lo cual pude traducirse en un minuto de diferencia. Muchas gracias a todos.


La franja horaria es GMT +2. Ahora son las 11:35:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi