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)
-   -   Control de Ingreso a Estadio (https://www.clubdelphi.com/foros/showthread.php?t=71904)

BlueSteel 17-01-2011 21:22:57

Control de Ingreso a Estadio
 
Saludos a Todos...

Tengo una inquietud con un sistema que estoy diseñando :p.... les cuento, sigo utilizando el D7 y SQL Server 2005... utilizo los componentes ADO... La aplicación tiene un registro de Abonados y Credenciales que se pueden utilizar en un Partido y/o Evento en el Estadio del Club donde trabajo.

El Sistema me permite imprimir la credencial (PVC) al cual le designo un Codigo de Barra según Folio. Hasta allí todo bien. :p Es más tambien tengo un registro de las Credenciales que estan Bloqueadas ya sea por que se imprimieron mal o por que a los dueños se les extravio.

El estadio posee 3 sectores diferentes por donde se puede ingresar, y en cada sector pueden habilitarse 3 o 4 puertas.

La idea es que cada persona que ingrese al estadio presenta su credencial, se pistolea y si esta habilitada puede ingresar. Si ingresa se debe registrar en el evento con fecha y hora para que no puedan prestarse la credencial e ingresar nuevamente.

Mi problema es como tengo que trabajar la aplicación o que debo utilizar para que en cada puerta se refresque las credenciales que estan disponibles y las que han ingresado.:eek::eek::eek: la idea es que el refresco se realice en todos las puertas que esten habilitadas y corriendo el sistema...

Tambien se tiene que dar la opción de que una persona se retire, para lo cual se debe ingresar su credencial para autorizar retiro y posterior reingreso.

Además, la idea es que en todos los controles se registren los ingresos de las credenciales y no tenga perdida de información... Las Puertas y Sectores estas separados por varios metros y existen algunos eventos y/o partidos que tiene gran afluencia de publico, y como se esta acostubrado a llegar a ultima hora... se realizarán unos cuellos de botella y el sistema de trabajar de forma rápida y que no se vallan a sobreescribir registros....


Espero sus comentarios....

Salu2:D:p

newtron 18-01-2011 09:27:46

Hola.

No sé si he entendido bien tu inquietud pero si usas una base de datos común para todos los terminales no tienes que preocuparte por los refrescos de la base de datos puesto que cualquier dato que introduzcas o modifiques desde cualquier terminal será visible a todos los demás.

Saludos

Neftali [Germán.Estévez] 18-01-2011 13:59:38

Cita:

Empezado por BlueSteel (Mensaje 387800)
Mi problema es como tengo que trabajar la aplicación o que debo utilizar para que en cada puerta se refresque las credenciales que estan disponibles y las que han ingresado.:eek::eek::eek: la idea es que el refresco se realice en todos las puertas que esten habilitadas y corriendo el sistema...

La clave es la que te han dicho. Lo único es que todos los clientes (Puertas/Accesos) trabajen contra la misma Base de Datos.

BlueSteel 18-01-2011 22:14:33

Cita:

Empezado por Neftali (Mensaje 387862)
La clave es la que te han dicho. Lo único es que todos los clientes (Puertas/Accesos) trabajen contra la misma Base de Datos.

Para eso tendré que poner algun timer que me actualice cada segundo ???

Salu2:D:p

Casimiro Notevi 18-01-2011 22:39:30

No, nada de timers, cada usuario/cliente/puerta trabaja directamente con la base de datos central, se supone que están todos conectados en una red local.

Neftali [Germán.Estévez] 19-01-2011 10:12:30

Cita:

Empezado por BlueSteel (Mensaje 387912)
Para eso tendré que poner algun timer que me actualice cada segundo ???

Tal vez no te estamos entendiendo bien. ¿Porqué piensas que necesitas un Timer?

Si todos los datos están centralizados, cuando alguien entra grabas el Dato (credencial), cuando alguien sale también (o modificas el estado de esa credencial); Cuando te interese saber cómo está el estado de una persona (dentro o fuera) basta con que hagas una consulta de esa credencial y te devolverá en qué estado está (dentro o fuera).

pacopenin 19-01-2011 11:33:15

Hola,

Según entiendo, tienes que olvidarte te tener abierta un consulta con las credenciales (de ahí tu necesidad de refrescar los datos para luego buscar si esta disponible o no).
Si como dice Neftali, lees con una consulta la credencial que se ha pistoleado, el valor devuelto es el que está real en la BBDD, por lo que si ya ha sido actualizado te lo dirá.

Saludos,

BlueSteel 19-01-2011 17:21:59

Cita:

Empezado por Neftali (Mensaje 387948)
Tal vez no te estamos entendiendo bien. ¿Porqué piensas que necesitas un Timer?

Si todos los datos están centralizados, cuando alguien entra grabas el Dato (credencial), cuando alguien sale también (o modificas el estado de esa credencial); Cuando te interese saber cómo está el estado de una persona (dentro o fuera) basta con que hagas una consulta de esa credencial y te devolverá en qué estado está (dentro o fuera).


No se.. para que me refresque los ingresos que se realizan en un PC (Control) diferente.

Otra cosa, como debo tratar el almacenamiento de los datos... lo digo por que como son minimo 4 controles diferentes.. que pasa si los 4 controles leen una credencial distinta y la quieren registrar.... el SQL Server se encarga de guardar todo....

En realidad no he probado esto... si bien he realizado sistemas que trabajan en red, en ninguno se ha dado la situación de que pueden ingresar un dato en más de un terminal a la vez...

Salu2:p:D

Neftali [Germán.Estévez] 19-01-2011 18:21:22

No te preocupes de todo eso se encarga el SGBD.
Desde los distintos puestos lanzarás sentencias SQL de INSERT o de SELECT (para preguntar por el estado de una credencias) y el SGBD controla la concurrencia desde los distintos clientes.

Están pensados para trabajar con múltiples clientes realizando peticiones al mismo tiempo.

Delphius 19-01-2011 19:35:53

Hola,
Si trabajaras con Firebird podrías hacer uso de los eventos y dejar que el mismo servidor "avise" a los clientes de los cambios. De ese modo no tienes que recurrir a técnicas como el uso timer.

Desconozco si en las últimas versiones de MS SQL Server hay algo parecido a los eventos... De lo poco que tengo entendido, solamente Firebird y PostgreSQL cuentan con dicha característica (supuestamente MySQL y Oracle también tienen algo como esto, pero no estoy bien informado y no quisiera aventurarme demasiado).

Saludos,

BlueSteel 02-06-2011 23:47:15

Hola

Solo queria poner que ne funciono todo bien...y no tube que realizar nada extraordinario, y como dijo Neftali, el motor se encargo de todo...

Salu2:D


La franja horaria es GMT +2. Ahora son las 17:42:34.

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