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 17-02-2005
Avatar de sercornejov
sercornejov sercornejov is offline
Miembro
 
Registrado: may 2003
Ubicación: Neiva - Colombia
Posts: 88
Poder: 22
sercornejov Va por buen camino
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 , la cosa es que lo que hace uno no se refleja en el otro.

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: : Cuando entro a un visitante, el otro exe (EXE S, que coloco en depuración) lo capta, y ejecuta el OnEvenAlert (este cierra la consulta y la ejecuta de nuevo) Y NAADAAAAAAAAAAAAAAAAA.

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...
Responder Con Cita
  #2  
Antiguo 15-11-2009
Luis F. Orjuela Luis F. Orjuela is offline
Miembro
 
Registrado: may 2003
Ubicación: Bogotá - Colombia
Posts: 68
Poder: 22
Luis F. Orjuela Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 15-12-2009
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
esto con el fin de efectivamente escribir los cambios de tus registros en la base de datos (escribir físicamente el registro)
Los registros se escriben físicamente aunq no haya commit..
Ademas de hacer un commit, la transaccion del segundo exe tiene q estar configurada a Read Commited..
__________________
¿Microsoft? No, gracias..

Última edición por Delfino fecha: 15-12-2009 a las 13:46:26.
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

Temas Similares
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


La franja horaria es GMT +2. Ahora son las 00:52:08.


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