Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2005
Abel Garcia Abel Garcia is offline
Miembro
 
Registrado: nov 2004
Posts: 45
Poder: 0
Abel Garcia Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 19-09-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
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?
__________________
[Crandel]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:52:58.


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
Copyright 1996-2007 Club Delphi