Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hagamos una cosa: Pone el codigo del trigger y vemos porque no setee nada raro en el componente solo le asigne la Database, Tambien lo cree en el datamodule no se si tendra algo que ver.

A tener en cuenta:

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

new_reg es el nombre del evento envia la base de datos y que captaremos, y en el evento OnEventAlert del IbEvents hacemos la pregunta

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 (Ojo parece que diferencia mayusculas de minusculas - Me pasó)
Responder Con Cita
  #2  
Antiguo 03-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Hagamos una cosa: Pone el codigo del trigger y vemos porque no setee nada raro en el componente solo le asigne la Database, Tambien lo cree en el datamodule no se si tendra algo que ver.

A tener en cuenta:

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


new_reg es el nombre del evento envia la base de datos y que captaremos, y en el evento OnEventAlert del IbEvents hacemos la pregunta

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 (Ojo parece que diferencia mayusculas de minusculas - Me pasó)
Código Delphi [-]
procedure TCustomerData.IBEvents1EventAlert(Sender: TObject;
  EventName: String; EventCount: Integer; var CancelAlerts: Boolean);
begin
if EventName = 'new_reg' then
begin
Umain.Form1.inmuebles.Refresh;
Umain.Form1.localidades.Refresh;
end;
Responder Con Cita
  #3  
Antiguo 03-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
y el del trigger?
Responder Con Cita
  #4  
Antiguo 03-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Código SQL [-]
CREATE OR ALTER TRIGGER LOCALIDADES_POS FOR LOCALIDADES
ACTIVE AFTER INSERT POSITION 0
AS
begin
  post_event 'new_reg';
end
este es el triger que cree con ibexpert en la tabla localidades
Responder Con Cita
  #5  
Antiguo 03-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Debería funcionar. .
Volvemos a las transacciones (El evento solo se ejecuta si hay un commit o CommitRetainging);

En ese evento de AfterPost del IbTable no pongas

Código Delphi [-]
localidades.Transaction.CommitRetaining;

Pone de acuerdo a tu componente IbTransaction, es decir:

Código Delphi [-]
CostumerData.IbTransaction.CommitRetainig
Responder Con Cita
  #6  
Antiguo 03-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Debería funcionar. .
Volvemos a las transacciones (El evento solo se ejecuta si hay un commit o CommitRetainging);

En ese evento de AfterPost del IbTable no pongas

Código Delphi [-]localidades.Transaction.CommitRetaining;


Pone de acuerdo a tu componente IbTransaction, es decir:

Código Delphi [-]CostumerData.IbTransaction.CommitRetainig
los comente a los dos
Código Delphi [-]
 procedure TForm1.localidadesAfterPost(DataSet: TDataSet);
begin
//localidades.Transaction.CommitRetaining;
// CustomerData.IBTransaction1.CommitRetaining;
end;
Pero hace el post de todas formas, porque cierro mi aplicacion y al volver abrirla estan los cambios guardados, supongo que sera en el momento de cerrar que commitea
Responder Con Cita
  #7  
Antiguo 03-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Funcionoooooooooooooooooooooooooooo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gracias gente por su tiempo y martins idolo por el codigo, lo que buscaba era eso el trigger de firebird que dispare el evento para actualizar los clientes anda de puta madre , muchisimas gracias !!!!
Responder Con Cita
  #8  
Antiguo 03-05-2012
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
Cita:
Empezado por pelikno Ver Mensaje
Funcionoooooooooooooooooooooooooooo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gracias gente por su tiempo y martins idolo por el codigo, lo que buscaba era eso el trigger de firebird que dispare el evento para actualizar los clientes anda de puta madre , muchisimas gracias !!!!
Claro, claro... eso no te lo habían dicho ¿verdad? Que yo sepa desde el comienzo te habían comentado de que empezaras a leer sobre los eventos, te remitieron enlaces al material. Pero tu si que estas hacerte el ciego cuando te conviene. Porque como ha dicho Casi, lees pero no te enteras.
Das la impresión de que lo que estabas buscando con todo esto es que viniera alguien con el código
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #9  
Antiguo 03-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
Gracias gente por su tiempo y martins idolo por el codigo, lo que buscaba era eso el trigger de firebird que dispare el evento para actualizar los clientes anda de puta madre , muchisimas gracias !!!!

Bueno, al fin me alegro. Llevo 80 POST, SI!!! OCHENTA pero llego el resultado

Merezco un ascenso Jeje,

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Diseño de Sistema magnu9 Varios 14 16-10-2007 05:27:53
Consulta con diseño de BD Petolansa Varios 7 11-08-2007 02:30:01
en diseño web miamuxi Conexión con bases de datos 6 19-01-2007 20:13:50
Diseño pepelu1975 Varios 1 31-05-2004 09:55:36
duda en el diseño wonder boy SQL 3 31-03-2004 19:55:06


La franja horaria es GMT +2. Ahora son las 05:03:27.


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