Club Delphi  
    Paypal   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

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 19-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
No necesitas el procedimiento almacenado. Con el disparador sobra:
Código SQL [-]
CREATE TRIGGER CI_CITAS_EVENT_NUEVA FOR CI_CITAS
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
 post_event 'ACT_CITAS'
end

En el mdoRegisterEvent, necesitas añadir el evento que quieres esperar, dado que, en la base de datos puedes lanzar muchos eventos, pero una ventana de tu programa solo quiere enterarse de uno de ellos:
Código Delphi [-]
// solo hace falta registrarlo 1 vez, por ejemplo, al crear el form

const CitaModificada = 'ACT_CITAS';


procedure TfCitas.FormCreate(Sender: TObject);
begin
with mdoevents1 do
begin
  Add(CitaModificada);

If Not MDOEvents1.Registered Then
   MDOEvents1.Registered := true;
end;

Como sabrás, el evento lanzado por el SGBBDD lo recogerá todas las aplicaciones delphi que esten accediendo a esa Base de datos, pero solo le llegará el mensaje a la ventana que tenga registrado dicho mensaje.

Como has visto, he definido una constante CitaModificada, es muy fácil equivocarse al escribir el string, y con una sola letra que varíe, delphi no recibirá dicho evento, y empezarás a creer que Firebird no funciona bien o le echas la culpa a MDO. Usando constantes, te aseguras de no cometer errores mecanográficos. Por el bien de tu salud mental, te lo recomiendo encarecidamente .

El evento mdoEventAlert1.OnEvent lo tienes bien definido, por ello no comento nada más.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 19-05-2007 a las 09:06:02.
Responder Con Cita
 


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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
refresco de datos en red valdorre Conexión con bases de datos 8 05-05-2007 02:16:07
Refresco datos FireBird Io Conexión con bases de datos 2 06-08-2005 18:44:59
Refresco de Datos en Interbase PINO72 Firebird e Interbase 6 14-02-2005 18:21:30
Refresco de Datos con ADO Ivr Conexión con bases de datos 1 15-10-2004 14:11:07
Refresco de datos con ADO fjcg02 Conexión con bases de datos 2 23-01-2004 14:03:24


La franja horaria es GMT +2. Ahora son las 23:38:41.


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