Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Actualizar campo al cerrar sistema inadecuadamente (https://www.clubdelphi.com/foros/showthread.php?t=34307)

judit25 04-08-2006 17:20:48

Actualizar campo al cerrar sistema inadecuadamente
 
Buenos Días!

Tengo la siguiente pregunta:

Tengo un sistema hecho en delphi y access, y al cerrar la aplicacion actualizo un campo en una tabla de la base de datos (la actualizacion es, al momento de loguearse se activa una casilla de que esta logueado y cuando cierro se descativa esa casilla), esto lo hago en el evento OnClose del formulario.

El problema surge si el sistema en algun momento se cuelga, al tener que tumbar el proceso/sistema no actualiza ese campo, y al momento de querer entrar con ese usuario de nuevo me dice que ya está logueado y no me permite entrar.

¿Hay alguna manera de que al momento de que haya que tumbar el sistema se actualice el campo en la tabla de cualqueir forma?

Gracias anticipadas

Saludos

Que tengan un buen día

vtdeleon 04-08-2006 17:31:49

Saludos

No creo que haya forma, no desde esa misma aplicacion. Cuando el sistema se bloquea no podrá enviar ningun evento ni nada, solo resta "matarlo".

Quizas haciendo una aplicacion aparte, y verificando algunos datos puedas reestablecer o cambiar el valor del campo.

judit25 04-08-2006 17:34:03

Me temía eso, pero dicen que no se pierde nada con preguntar.

Gracias por responder

roman 04-08-2006 18:00:54

Hola, te doy una sugerencia para tratar este asunto.

Además del campo que indica si tu usuario está o no conectado, pon un campo que marque la última hora de actividad. Este campo lo actualizas desde tu aplicación mediante un Timer cada X tiempo.

Cuando un usuario intente conectarse, si el campo indica que ya está conectado, revisas la hora de última actividad y la comparas con la hora actual. Si la diferencia es mayor que un intervalo Y predeterminado (tiempo de espera), querrá decir que es una sesión congelada y puedes darle entrada al usuario.

En los tiempos X y Y el requisito es que X sea menor que Y.

// Saludos

judit25 04-08-2006 18:17:09

Gracias Roman

Lo intentaré de esa manera a ver como me va.


La franja horaria es GMT +2. Ahora son las 16:23:06.

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