Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Eventos en Firebird (https://www.clubdelphi.com/foros/showthread.php?t=16304)

senpiterno 23-11-2004 16:17:45

Eventos en Firebird
 
Hola amigos
Estoy haciendo una aplicación en Delphi 7 en un servidor FB v1.5.1., tengo una tabla que registra a los usuarios del sistema, dicha tabla enlaza con otras que poseen las atribuciones y permisos que tendra un determinado usuario para acceder a los modulos del sistema...lo que intento hacer es que cada vez que se cambien los permisos y atribuciones de un usuario, esto se notifique en forma inmediata a la aplicacion, para de esta forma manejar siempre actualizado cuales son las atribuciones del usuario en cada modulo del sistema. He investigado y se que se pueden declar eventos en el servidor de datos cuando el estado de una tabla cambia, evento que es capturado por el componente IBEvents...mi pregunta es la siguiente, se pueden establecer eventos a nivel de columna de una tabla, es decir que cuando se modifique,inserte o elimine un valor en determinada columna se lanse el evento y no cuando se cambien otras columnas de la tabla....si es posible hacerlo, ¿como se hace?....y por ultimo es posible manejar el componete IBEvents a nivel de aplicacion o no de formulario...

Cualquier ayuda se agradece
Saludos...

aom 25-11-2004 08:42:14

Hola,
puedes crear un trigger y en este trigger capturar si ha cambiado una determinada columna y hacer una llamada a un evento. Este evento lo capturas en Delphi

por ejemplo, este puede ser el código del trigger:

create trigger MI_TRIGGER for MI_TABLA active after update (o insert) position 0 as
begin
if (old.COLUMNA<>new.COLUMNA) then
Post_Event('MI_EVENTO');
end

Saludos

senpiterno 27-11-2004 20:34:57

Gracias aom por tu respuesta, ya pensaba que nadie me ayudaria. El trigger de ejemplo que pusiste tambien capturara cuando se modifique, inserte y se eliminane datos en la columna...???. Ah y respecto a lo del control IBEvents me puedes ayudar....

Saludos...

aom 29-11-2004 14:53:11

Hola,
el trigger del ejemplo se activa después de modificar un registro (after update). Los triggers se pueden programar para que se activen en diferentes momentos. Consulta la documentacion de Interbase 6 para ver todos los casos.

En cuanto al uso de eventos, consulta este hilo

Saludos


La franja horaria es GMT +2. Ahora son las 14:15:00.

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