![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ver registros recien grabados en FireBird y Delphi
Hola
D60, FB1.5, IBX 6.0 (creo... los que vienen con delphi 6.0 enterprice), Win XP Pro SP1 La idea de la aplicación es una. pero con dos ejecutables: uno que entra visitantes y otro que los saca. cada uno funciona a las 1000 maravillas ![]() Ambos EXE miran la misma base de datos, en el mismo PC, en el mismo directorio, en la misma ciudad, en el mismo planeta.... Cuando un visitante llega, se registra y el EXE E (asi llamo al de entradas) lo registra, y genera la información pertinente en la tabla que controla las visitas y todo... Lo deseado es que una vez que ENTRA el paciente, el EXE S (el de sacar la gente) se entere de que entro alguien. Yo le coloque un dbgrid que muestra los que están adentro, pero NO LO MUESTRA, tengo que cerrar EXE S y ejecutar de nuevo y ahi sí, como no, se VE. Las tabla de visitantes tiene 40000 registros (incluida la foto del paciente), luego para buscar un paciente en el momento en que llega lo hago mediante un StoreProcedure para no MOVER los registro. uns vez se toman los datos, lo grabo con otro SP con una clausula UPDATE, para no MOVER la tabla. Todo eso funciona de maravillas... En la tabla de visitantes tengo un trigger que coloca un evento 'VIS_CAMBIO' en el insert o el update (after). Y LO MAS DE CURIOSO: ![]() Tengo que entregar esto mañana o de lo contrario me van a correr pólizas de cumplimiento y todo lo demás... AAAAAYUUUUUUUUUUDAAAAAAAAAAAAAAAAAA Sergio
__________________
En Colombia hay muchos, pero muchos colombianos muy buenos. Los violentos son pocos y los vamos a controlar... |
#2
|
|||
|
|||
Por lo que entendí de tu problema. te diría lo siguiente:
1. Cada vez que hagas una entrada (EXE E) inmediatamente debes hacer un commitretaining a tu base de datos, esto con el fin de efectivamente escribir los cambios de tus registros en la base de datos (escribir físicamente el registro), para que así otros programas o procesos que trabajan con la misma base de datos tengan acceso a la nueva información. 2. Como veo que estás utilizando los EVENTOS dentro de la base de datos (IBEvents), pues es así como se debe hacer, es decir, al momento de crear un nuevo registro, o actualizar alguno, programas el evento para que se dispare e informe a las demás aplicaciones. una vez disparado dicho evento como por ejemplo al momento de ingresar un nuevo registro, entonces en tu otro programa (EXE S), debes capturar dicho evento y justo ahí debes cerrar y abrir nuevamente tu consulta para que veas refledos los nuevos datos. PERO RECUERDA debes hacer un IBTransaction1.CommitRetaining en tu (EXE E ) justo después de haber ingresado tus nuevos datos. ![]()
__________________
Ing. LUIS FERNANDO ORJUELA BOGOTA - COLOMBIA |
#3
|
|||
|
|||
Cita:
Ademas de hacer un commit, la transaccion del segundo exe tiene q estar configurada a Read Commited.. Última edición por Delfino fecha: 15-12-2009 a las 13:46:26. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Busqueda De Registros Delphi Firebird | jorge arturo le | Firebird e Interbase | 2 | 22-07-2008 18:44:13 |
delphi + firebird 2.0.3 + MDO = 0 registros devueltos | joselitoman | Conexión con bases de datos | 6 | 29-10-2007 02:33:34 |
Verificación de los datos grabados en CD o DVD | rretamar | API de Windows | 24 | 16-01-2007 06:32:47 |
Recien anunciado: Delphi 2006 | mamcx | Noticias | 0 | 10-10-2005 22:39:14 |
error al compilar apz con intraweb recien 7.2 recien instalado | source_code | Internet | 2 | 13-04-2005 21:25:49 |
![]() |
|