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 26-01-2005
noobdelphi noobdelphi is offline
Registrado
 
Registrado: ene 2005
Posts: 8
Poder: 0
noobdelphi Va por buen camino
comparar horas

buenas de nuevo, hace poco puse un hilo y gracias a la ayuda de algunos de el foro pues encontre una solucion.
ahora tengo un problema con el mismo disparardor en la base de datos firebird necesito saber si una hora es mayor que otra ambas horas estan en una campo en la db, pero ademas depues tengo que compara con horas que estan en 2 variables.
he tratado de hacerlo de la manera tradicional y me saca un menssaje de overflow en al string varios errores me ha sacadi incluso cuando trato de asignar la hora de el campo el error es el siguiente

Overflow occurred during data type conversion.
conversion error from string "01:00:00 a.m.".


de ante mano muchas gracias
Responder Con Cita
  #2  
Antiguo 26-01-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Convendría que pusieras el código que motiva ese error.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 27-01-2005
noobdelphi noobdelphi is offline
Registrado
 
Registrado: ene 2005
Posts: 8
Poder: 0
noobdelphi Va por buen camino
Aclaro que new.md_hoin esta declarada en la tabla como time
Código SQL [-]
 CREATE TRIGGER MOVDIA_TG_MOV FOR MOVDIA
 INACTIVE AFTER INSERT OR UPDATE POSITION 10
 AS
 declare variable hst time;
 declare variable hn time;
 declare variable het time;
 declare variable hsm time;
 declare variable timeout time;
 declare variable timein time;
 declare variable fein date;
 begin
         if(new.md_feout>new.md_fein )then
         begin
              fein=new.md_fein;
              timein=new.md_hoin;(AKI ME GENERA EL ERROR)
              if(new.md_hoin > :hst)then
              begin
                     hn=0;
              end
              if(:het<=:timein and :timein<=:hst)then
              begin
                     hn=:hst-:timein;
              end
              if(:hsm<:timein and :timein<:het)then
              begin
                     hn=:hst-:het;
              end
 
              if(:timein<=:hsm)then
              begin
                     hn=(:hst-:het)+(:hst-:timein);
              end
 
         end
 end

puse todo el ejemplo porque me ademas quisiera saber si las operaciones con horas se pueden hacer de manera directa como lo intento hacer.
todos los datos los saco de valores de otras tablas por medio de un select.
muchas gracias por la ayuda que me puedan prestar
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 20:17:26.


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