FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ver actualizaciones a la BdD en tiempo real
Saludos, espero me podais dar una mano con una aplicación hecha en Delphi 7. Tengo dos TIBQuerys (QUser y QBitacora) cuyos datos se muestran en dos TDBGrids cada uno enlazado con su respectivo TDataSource. Tengo también un TIBQuery (QInsertarUser) para añadir registros. Todos ellos están conectados a un TIBDataBase (celina) y comparten el mismo TIBTransaction (Tcelina). Funciona de maravilla al insertar un registro. Sencillamente:
Para ver el registro insertado inmediatamente en su TDBGrid simplemente hago:
Sin embargo "desaparecen" los registros de QBitacora (donde con un select muestro fecha, hora y descripcion de todas las tareas hechas) de su TDBGrid respectivo después de hacer toda la tarea de arriba. Me parece que al hacerle el commit a Tcelina, el QBitacora se cierra pues para que los registros no "desaparezcan" de su TDBGrid también tengo que hacer: Y no hay mayor problema. El hecho es que quiero ver usando TDBGrids todos los cambios hechos inmediatamente después de insertar, modificar o eliminar un registro. El lío está en que quizás tenga que hacer la operación de cerrar y abrir tooooooodos los TIBQuerys (que comparten todos un mismo TIBTransaction). Puedo hacerlo pero ¿Hay forma de saltarse esta tarea tan morosa? Usé un TIBTransaction adicional para la consulta que permite añadir registros pero ya no puedo ver el registro inmediatamente añadido en el TDBGrid de QUser a menos que primero le haga un commit a su TIBTransaction y luego cierre y abra QUser. ¿Significa que hay que hacerle commit a todas las transacciones y abrir y cerrar sus respectivas consultas para ver los cambios hechos inmediatamente en un TDBGrid? Es mi primera experiencia con Firebird, antes hacía todo usando el MSAccess y obviamente nunca tuve esos problemas pero la empresa ha crecido, hay más empleados, más usuarios y el MSAccess no va más. ¿Quizás deba usar más de un TIBDatabase o un TIBTransaction o tal vez usar otro componente de la paleta de Interbase o cambiar alguna propiedad en el Object Inspector? Ojalá se haya comprendido. Gracias mil y un abrazo... Última edición por ecfisa fecha: 29-10-2011 a las 21:06:46. Razón: Agregar etiquetas [DELPHI] [/DELPHI] |
#2
|
||||
|
||||
Hola carlix_pc y bienvenido a los foros de Club Delphi
Lo que sucede es que Commit almacena los cambios y finaliza la actual transaccion por lo tanto afecta a todos los TDataSets asociados a él. Así que si no te entiendí mál, tu problema se solucionaría así: CommitRetaining también almacena todos los cambios, pero a diferencia de Commit, no finaliza la transacción actual. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Video en Tiempo real | Chalo78 | Varios | 0 | 26-01-2006 18:13:58 |
Video en tiempo real | Fitoperu | Internet | 1 | 25-08-2005 21:47:07 |
Videos en tiempo real | Albano | Internet | 4 | 07-06-2005 22:51:56 |
Buen Pc en Tiempo Real | Rabata | Varios | 0 | 19-11-2003 16:48:01 |
Actualizar En Tiempo Real | GIVO | SQL | 3 | 21-07-2003 19:10:31 |
|