Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2011
XcamX XcamX is offline
Miembro
 
Registrado: may 2006
Posts: 21
Poder: 0
XcamX Va por buen camino
Ayuda con Evento Zeos

Hola, les pido disculpas si este hilo no va aqui.
Me gustaria que alguien me enseñe a manejar un evento de ZEOS, estoy programando en delphi 6 con base de datos colgada en un servidor, lo que quiero hacer es que cada vez que alguien grabe un registro en dicha base me salte un mensaje en el programa, no se si esta muy claro. Desde ya muchas gracias
Atte.
Responder Con Cita
  #2  
Antiguo 15-03-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No creo que esto sea un problema en sí de ZEOS pues depende de que el motor de datos en sí mande alguna señal a los clientes. Algunos servidores, como Interbase y Firebird manejan eventos para cambios en los datos y los clientes pueden subscribirse a ellos para ser notificados cuando ocurran. Pero desconozco si ZEOS tiene un componente para este tipo de sucesos.

// Saludos
Responder Con Cita
  #3  
Antiguo 15-03-2011
XcamX XcamX is offline
Miembro
 
Registrado: may 2006
Posts: 21
Poder: 0
XcamX Va por buen camino
como capturo la señal, el motor de base de datos es mysql.
Responder Con Cita
  #4  
Antiguo 15-03-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lo único que se me ocurre es que los clientes revisen cada n segundos la o las tablas que deseas monitorear.

No sé, estoy pensando en voz alta, pero quizá pudieras tener una tabla especial con tres campos:

monitor=(id, tabla,hora)

id sería un campo autoinc
tabla el nombre de la tabla donde se ha producido una inserción
hora la hora en que se produjo dicha inserción.

En cada tabla que quieras monitorear tendrías que agregar un disparador (trigger) after insert en el cual registras el nombre de la tabla y la hora en la tabla monitor.

Entonces, cada cliente, como dije, revisaría cada tanto dicha tabla con una consulta de este estilo:

Código SQL [-]
select * from monitor
where ID > :OLD_ID

donde en el parámetro OLD_ID pondrías el último ID que hayas leído (y que tendrías que actualizar cada vez que haces la consulta anterior).

De esta forma, como resultado de la consulta tendrías una lista de tablas y horas de las últimas inserciones.

Sí, ya sé que suena algo compicado y artesanal, pero de momento es lo único que se me ocurre.

// Saludos

Última edición por roman fecha: 24-09-2015 a las 17:42:55. Razón: horrible falta de ortografía
Responder Con Cita
  #5  
Antiguo 15-03-2011
XcamX XcamX is offline
Miembro
 
Registrado: may 2006
Posts: 21
Poder: 0
XcamX Va por buen camino
voy a intentarlo hasta ver como lo resuelvo, te doy mil gracias por la ayuda y por tu tiempo

Saludos
Responder Con Cita
  #6  
Antiguo 15-03-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola,

Supuestamente MySQL SI tiene algo equivalente a los eventos de Firebird e Interbase, recuerdo que me comentaron fue añadido en la versión 5 pero puedo estar equivocado.

Ahora respecto a Zeos, tengo entendido también que cuenta con un componente para ello, aunque está diseñado para Firebird y se estaba analizando la posibilidad de hacerlo genérico: ZIBEventAlerter. Sería cuestión de que revises la documentación de Zeos para saber más al respecto.

Sino queda la opción que comenta Roman: disparar la consulta cada cierta cantidad de tiempo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 16-03-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Estuve revisando los eventos de MySQL pero no parecen ser lo mismo. En MySQL, más que eventos son calendarizaciones, que cada x tiempo ejecutan la rutina que uno programe.}

// Saludos
Responder Con Cita
Respuesta



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
Ayuda Zeos argtrueno Conexión con bases de datos 2 03-07-2010 05:19:50
Ayuda con ZEOS... Jose Roman Conexión con bases de datos 0 25-08-2008 17:12:41
Ayuda con ZeoS kabracity MySQL 3 14-07-2008 14:23:52
ayuda sobre evento en php jfvoviedo PHP 2 22-08-2003 16:12:04
ayuda sobre evento en php jfvoviedo PHP 6 26-07-2003 18:24:22


La franja horaria es GMT +2. Ahora son las 05:10:07.


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