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 03-02-2004
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Question Tratando de exprimir los eventos de interbase

Hola a todos\as:

Estoy realizando una aplicancion con interbase y quiero usar los eventos para refrescar la informacion en los equipos conectados al servidor.

He conseguido recuperar eventos con nombres predefinidos, pero siguiendo la ayuda y algunos textos de internet puedo generar eventos segun el valor de un campo de un registro. Eso ha sido facil con campos de texto, pero a mi me seria mucho mas útil si el evento que lanzo es una fecha, porque asi solo actualizaria en los terminales que estubiesen monstrando informacion de ese dia.

He probado con Post_event new.fecha y haciendo un cast en el trigger
post_event cast(new.fecha as varchar(10)). tambien he creado una variable en el trigger y primero le metia la fecha con el cast y despues ejecutaba post_event variable.

Para capturar el evento he registrado en el IBEvent la fecha en los dos formatos (primero dia y despues mes y al reves) y nada.

Estoy tratando de hacer algo imposible?

Y rizando mas el rizo seria posible generar nombres de eventos como "I03/02/2004", "M03/02/2004" o "B03/02/2004" segun sea modificar insertar o borrar?... me vendria de perlas para minimizar el trafico en mi red.

Un saludo y muchas gracias por leerme
__________________

Un trozo de chocolate te da la energia necesaria para ir a por otro trozo de chocolate (by ELENA)
Responder Con Cita
  #2  
Antiguo 03-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
El formato que te devuelve el cast(undate as VarChar(10)) es 'yyyy-mm-dd' y creo que no debieras tener ningun problema para postear un evento construido en una variable... aunque no lo he probado, simplemente verifique que compile...

digamos

Código:
set autoddl off;
set term ^ ;

create trigger pruebas
   for colb_cuota
  active after update AS

declare variable event_nm VarChar(50);

Begin
  select 'M'||cast(new.fecha_max_pago as VarChar(10))
    from rdb$database
    into :event_nm;
  post_event :event_nm;
end;
^

set term ; ^
commit;
set autoddl on;
Hasta luego y espero te sea de ayuda

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 05-02-2004
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Thumbs up Funciona

Lo dicho funciona a las mil maravillas. No habia compuesto bien la cadena usaba algo asi como 'M' + '-' + .... a parte de poner mal el formato de la fecha.

Millones de gracias por ayudarme a acceder lo imprescindible a la base de datos.

__________________

Un trozo de chocolate te da la energia necesaria para ir a por otro trozo de chocolate (by ELENA)
Responder Con Cita
  #4  
Antiguo 25-02-2004
Avatar de mlara
[mlara] mlara is offline
Miembro Premium
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 667
Poder: 22
mlara Va por buen camino
Decidí continuar este hilo porque mi problema está muy relacionado.

1. Creo una tabla
2. Creo un trigger para esa tabla, digamos:


Código:
CREATE TRIGGER "Debug_NewRecord" FOR "Debug"
AFTER INSERT
AS
BEGIN
  POST_EVENT 'DNEW';
END
3. En mi app. pongo un TIBEvents en una forma, en la propiedad Events pongo DNEW. Y el código respectivo en el evento OnEventAlert:


Código:
Memo1.Lines.Add(EventName);
4. Ejecuto IBEvents1.RegisterEvents cuando abro la forma o ventana donde tengo el TIBEvents. La conexión a la base de datos ya se ha realizado con anterioridad, y la propiedad Database del TIBEvents está bien.
5. Luego inserto un registro desde IBConsole, desde mi propia aplicación con un TIBQuery (ejecutando el método ExecSQL), desde mi propia aplicación con un TIBTable (hasta le hago Post manual).
6. He intentado haciendo AutoRegister verdadero y poniendo Register a verdadero.

Después de todo esto: No pasa nada. No obtengo resultados.

Alguien sabe qué puede estar pasando?

Uso InterBase 7.1 y Delphi 7.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre.
Responder Con Cita
  #5  
Antiguo 26-10-2004
José Castillo R José Castillo R is offline
Registrado
 
Registrado: oct 2004
Ubicación: Lima - Perú
Posts: 1
Poder: 0
José Castillo R Va por buen camino
Commit

Tienes que hacer un Commit despues del Post.
Responder Con Cita
  #6  
Antiguo 31-10-2004
Avatar de mlara
[mlara] mlara is offline
Miembro Premium
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 667
Poder: 22
mlara Va por buen camino
Desafortunadamente no estoy trabajando en este momento con los eventos.. pero probaré y entonces les contaré qué pasó. Gracias.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre.
Responder Con Cita
  #7  
Antiguo 01-11-2004
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Si puedes ver el ejemplo de "SURVEYS" que biene con ibObjects creo que es uan de las mejores soluciones para la notificacion de los cambios a los clientes.
Ya los componentes de bienen dotado con las propiedades necesarias para usar este funcionalidad
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


La franja horaria es GMT +2. Ahora son las 20:08:37.


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