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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-12-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola: Parto del supuesto después del commit tal como te pregunta ecfisa y supongo que has creado un trigger para firebird para tal caso, por ejemplo:

Código SQL [-]
CREATE TRIGGER POST_NEW_REG FOR CLIENTES
ACTIVE AFTER INSERT
POSITION 0
AS
BEGIN
 
  POST_EVENT 'new_reg';
END


Obviamente el trigger anterior se dispara al momento de ingresar uno nuevo y logicamente despues del commit.

Luego con la utilizacion de un IbEvents haces:

Cuando se crea el formulario:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  IBEvents1.Events.Clear;
  IBEvents1.Events.Add('new_reg');
  IBEvents1.RegisterEvents;
  //....
end;

y en el event alert:

Código Delphi [-]
procedure TDM.IBEvents1EventAlert(Sender: TObject; EventName: string;
  EventCount: Integer; var CancelAlerts: Boolean);
begin
  if EventName = 'new_reg' then
  Begin
  // ShowMessage('Nuevo registro');
  SClientes.DataSet.Refresh;
  End;  
end;

donde preguntamos si viene el evento new_reg hacemos el refresco del datasource que enlaza la grilla

Se enuncia que firebird usa otro puerto adicional al 3050 para el procesamiento de eventos y lo asigna arbitrariamente. Estos es cierto y en su caso se configura editando el Firebird.conf en RemoteAuxPort a 6020 por ejemplo, habilita ese puerto en el firewall y listo.-

Saludos
Responder Con Cita
  #2  
Antiguo 20-12-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias por contestar,

Si, eso ya lo hice, si me salta el event cuando inserto un registro, pero el refresh no hace nada.
Responder Con Cita
  #3  
Antiguo 20-12-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola anubis.

No hay dudas que el evento se dispara y es recibido correctamente... ¿ En que componente no ves reflejado los cambios ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 20-12-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Si, gracias.

En este caso en un dbgrid relacionado con el query.
en el pc1 doy de alta el registro, le aplico post y resfresh, y lo veo en el dbgrid.
en el pc2 cuando he dado de alta en el pc1 el registro, salta el evento le aplico refresh y no se actualiza en el dbgrid del pc2, tengo que cerrar la aplicacion en el pc1 y volverla a abrir para que aparezca el cambio.

Última edición por anubis fecha: 20-12-2012 a las 20:36:03.
Responder Con Cita
  #5  
Antiguo 20-12-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por anubis Ver Mensaje
en el pc1 doy de alta el registro, le aplico post y resfresh, y lo veo en el dbgrid
Sólo me guío por lo que comentas en esta línea ya que no he visto el código, pero el Refresh se tendría que realizar en la captura del evento. Por ejemplo luego de mostrar el mensaje de aviso.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 20-12-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Si, tienes razon, pero es lo que hago, tanto cuando lo inserto en el pc1, como cuando salta el evento en el pc2, poner un zquery.refresh.

De todas formas, entiendo que el evento y lo que viene despues son independientes, por lo que el zquery.refresh ya lo he querido usar en otras partes de la aplicacion con los mismos resultados, el problema ya no es en si el evento, que si funciona, sino el zquery.refresh, que debiera de funcionar en cualquier parte de la aplicacion que lo coloque y se active, aunque sea tan solo asignado a un boton.

esto lo digo porque ya estuve haciendo pruebas de diferentes formas y no hay nada
Responder Con Cita
  #7  
Antiguo 20-12-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
De todas formas, entiendo que el evento y lo que viene despues son independientes
Si totalmente. Es que pensé que el refresh lo deseabas como consecuencia de la captura del evento.

Lo que comentas es un comportamiento extraño, con los componentes IBX siempre me ha funcionado correctamente.
Tal vez haya que ajustar algún detalle en los componentes Zeos, pero lamento no poder ayudarte con ellos por no conocerlos.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
TClientDataSet - Refrescar Parte de la Tabla LEVV Conexión con bases de datos 2 13-04-2012 17:21:16
refrescar la tabla ebeltete Firebird e Interbase 1 08-03-2008 15:58:54
Refrescar tabla al eliminar registro Shikanda Conexión con bases de datos 4 10-09-2007 17:22:36
Refrescar tabla y consulta carlosegs11 SQL 11 08-05-2007 19:40:53
Actualizar o Refrescar una Tabla Caral Tablas planas 2 20-02-2007 20:12:17


La franja horaria es GMT +2. Ahora son las 07:42:43.


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