Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Trigger o disparador en delphi-interbase (https://www.clubdelphi.com/foros/showthread.php?t=77252)

Caral 08-01-2012 00:21:28

Hola
Hay muchas formas de hacelo, no digo que el gatito esta mal, solo digo que no es la unica.
A mi no me gusta el dataset por muchas razones, prefiero hacerlo todo con sql, me parece mucho mas rapido.
Como dice Casimiro, el programa no deberia tener las ventanas abiertas y aun asi hay muchas maneras de solucionarlo.
Bueno, como ves, ni me gustan los tigres ni los dataset y podria dar muchas razones :D
Saludos

Delphius 08-01-2012 05:26:28

Hola,

Para entender del todo lo que quieres hacer necesitas más que una simple lectura sobre:
1) Transacciones
2) Triggers o disparadores
3) Eventos

En el FTP del club y en la misma web donde está el artículo sobre los eventos que estás consultando ;) hay material justamente sobre estos tres puntos. No está demás mencionar que primeramente te tomes el debido tiempo para irte familiarizando con la documentación oficial de Firebird, que explican en lo particular a este caso como utilizar los triggers y eventos y muuucho más.

En La Cara Oculta de Delphi 4 y en la 6 encontrarás amplio material sobre lo que hace a las transacciones y más en lo que hace a Delphi y el manejo de bases de datos en general.

La idea básica es que tu crees un trigger after insert que dispare un evento (de allí que te sugieran una búsqueda con post_event). Esto ocasiona que el motor envíe los respectivos mensajes a los clientes.
Ahora es el turno de la aplicación: tu debes disponer de un TIBEventAlert (creo recordar que era así el nombre... no Delphi en estos momentos) que capture el evento. Una vez que se capture tu haces lo que quieras. Para tu caso por ejemplo un simple refresh (O cierre y apertura) del dataset para que se muestre lo insertado.
En esto, a nivel aplicación, indice el uso de las transacciones y el nivel de aislamiento.

No tiene demasiada ciencia... es tu turno sentarte a leer el material.

Saludos,


La franja horaria es GMT +2. Ahora son las 12:29:58.

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