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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-11-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 20
senpiterno Va por buen camino
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...
Responder Con Cita
  #2  
Antiguo 25-11-2004
Avatar de aom
aom aom is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 106
Poder: 21
aom Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 27-11-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 20
senpiterno Va por buen camino
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...
__________________
Un hombre inteligente aprende de los errores propios...
Un hombre sabio aprende de los errores de los demas...
Responder Con Cita
  #4  
Antiguo 29-11-2004
Avatar de aom
aom aom is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 106
Poder: 21
aom Va por buen camino
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 10:58:11.


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