![]() |
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 :cool: |
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; ;) |
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. :D :D :D :D :D :D :D |
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" Código:
Memo1.Lines.Add(EventName); 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. |
Commit
Tienes que hacer un Commit despues del Post.
|
Desafortunadamente no estoy trabajando en este momento con los eventos.. pero probaré y entonces les contaré qué pasó. Gracias.
|
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 |
La franja horaria es GMT +2. Ahora son las 00:14:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi