Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   timestamp y milisegundos (https://www.clubdelphi.com/foros/showthread.php?t=25256)

Abel Garcia 17-09-2005 00:04:19

timestamp y milisegundos
 
:) Hola a todos Tengo una pregunta que hacerles de ante mano muchas gracias por su ayuda.

Esto utilizando Firebird 1.5 y tengo una aplicacion que genera eventos con resolucion de milisegundos, necesito almacenar estos eventos en una tabla, asi que cree una tabla con varios campos uno de ellos que es el que me da problemas lo cree de tipo TIMESTAMP para guardar en este campo el tiempo de ocuerrencia del evento, este tiempo debe de ser manejado por la aplicacion y no por la Base de datos asi que no puedo generar la informacion de este campo desde el proc. CURRENT_TIMESTAMP.
debido a ello cree un procedimiento que recibe todos los parametros del evento que quiero guardar entre ellos el parametro RTTIME el cual es de tipo TIMEESTAMP.

Bueno el problema es que cuando analizo los registros de la tabla de eventos
el mls no corresponde con lo que le envie, osea toda la fecha es correcta hasta el segundo pero los mls no. para insertar el regisro estoy usando BC6.0
con un codigo mas o menos como este:


SProc->ParamByName("RTTABLE")->Value=DbEvent->Table;
SProc->ParamByName("RTINDEX")->Value=DbEvent->index;
SProc->ParamByName("RTVALUE")->Value=DbEvent->Value;
/* Parametro de Prueba "Test" */
Test= TDateTime::CurrentDate() + EncodeTime(13,0,0,0);
SProc->ParamByName("RTTIME")->AsDateTime=Test;



en este caso deberia de encontrar un registro en la tabla correspondiente del campo TIMEESTAMP a un valor de:

dd/mm/yyyy 13:00:00.000
pero resulta algo asi:
dd/mm/yyyy 13:00:00.90

la tabla la estoy analizando con el paquete IB Expert.
En este paquete cambio el formato de muestra de fechas a :
dd/mm/yyyy HH:mm:ss.ms

La verdad no se si ms sea un parametro valido pero al parecer si realiza algo almenos en muestra, quisa ese sea mi problema no lo se:

Espero haber sido claro, y espero puedan ayudarme. Gracias

Crandel 19-09-2005 01:45:06

Hola Abel, antes que nada, no habras otro hilo para una misma pregunta, habriste una hace dos dias del mismo tema. Volvé a escribir en la misma y eso hace que tu mensaje aparesce primero de nuevo en el foro.

Respecto a tu pregunta no vi en la documentación que firebird trabaje con milisimas de segundo, donde lo leiste? puede ser que si, pero no veo donde lo dice.

Sin embargo en la UDF rfunc si tiene una función llamada ExtractMillisecond(d), lo que haria suponer que si.

Por otro lado si lo unico que te intersa guardar son los milisegundos desde tu programa, porque no creas un campo MILISEGUNDOS del tipo entero?


La franja horaria es GMT +2. Ahora son las 19:46:24.

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