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

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 27-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una idea:

Para empezar definiria dos tablas

tareas = (fecha, hora, tipo)
tipos = (volatil, diaria, semanal, mensual, anual, secular)

Cada vez que toque el turno de ejecutarse una tarea examinas su tipo.
  • Si es volátil (sólo se realiza una vez) ejecutas la tarea y borras el registro.
  • Si es diaria ejecutas la tarea y actualizas el campo fecha sumándole un día.
  • Si es semanal ejecutas la tarea y actualizas el campo fecha sumándole una semana.
  • etc.
Cada x tiempo consultas la base:

Código SQL [-]
select * from tareas
where
  fecha = today() and
  hora >= now()

La sintaxis exacta te la dejo de tarea (primera tarea a programar )

Las tareas del día actual que ya se hayan realizado no entrarán dentro de esta selección pues ya les actualizaste la fecha, de manera que la selección te devolverá las tareas más próximas al momento de la consulta que aún no se han realizado.

La precisión será mayor mientras más frecuentemente consultes al servidor. Si consultas, digamos, cada cinco minutos, cabrá la posibilidad de que alguna tarea se ejecute con cinco minutos de retraso.

// Saludos
Responder Con Cita
 



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