Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2008
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Poder: 21
jplj Va por buen camino
Leer actualizaciones realizada en una tabla por una aplicación Clippper.

Hola:

Tengo una aplicación en Clipper que trabaja con una tablas en DBase III con índices NTX.

He creado una aplicación en Delphi desde la que con un TQuery sólo leo información de esas tablas y la almaceno en memoria, después desconecto la consulta.

Todo funciona correctamente hasta que desde la aplicación en Clipper realizo cualquier modificación en cualquier tabla (inserción, edición o eliminación), la operación se realiza correctamente, pero no es "visible" para la aplicación en Delphi hasta que cierro la aplicación hecha en Clipper.
La aplicación hecha en Clipper no realiza ninguna operación especial al cerrarse. Cuenta con una opción que permite reindexar, la he probado pero las modificaciones continúan "invisibles" para la aplicación en Delphi.

Una vez cerrada la hecha en Clipper, todas la modificaciones que hemos realizados desde ella son visibles -al relanzar la consulta- en la de Delphi.

Muchas gracias de antemano.
Juan P.
__________________
Sonríe. Mañana puede ser peor.
Responder Con Cita
  #2  
Antiguo 15-01-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
En la aplicación Clipper vacias la memoria intermedia despues de una grabración modificación?

MiTabla->(DbCommit())

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 15-01-2008
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Poder: 21
jplj Va por buen camino
Ahora no estoy seguro.

Mañana veré el código y te contestaré.

No ha llegado mañana pero recordé unas viejas copias de código que tenía por casa.

Al borrar un registros sí se vacía la memoria intermedia, no es así al modificar o insertar.
__________________
Sonríe. Mañana puede ser peor.

Última edición por jplj fecha: 16-01-2008 a las 08:44:59.
Responder Con Cita
  #4  
Antiguo 16-01-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Tu mismo dices la respuesta: "desconecto la consulta". Para ver los cambios necesitas hacer un refresh o bien cerrar y abrir (mas bien esto último) el query de Delphi para que veas los cambios, lo puedes poner en un boton que diga "refrescar" o bien hacer el refresco cada x segundos mediante un TTimer... Este caso es común así que no te preocupes.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #5  
Antiguo 16-01-2008
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Poder: 21
jplj Va por buen camino
Quizá no expresado correctamente el proceso:

1.- Aplicación Delphi - Proceso de lectura.

.- Abre la consulta.
.- Recorre los registros y almacena la información en memoria.
.- Cierra la consulta.


2.- Aplicación Clipper - Proceso de modificación.

3.- Aplicación Delphi - Proceso de lectura : el mismo del punto 1. Los datos modificados no son visibles.

4.- Cierro Aplicación Clipper.

5.- Aplicación Delphi - Proceso de lectura: el mismo del punto 1. Ahora si son visibles los datos modificados por la aplicación clipper en el paso 2.
__________________
Sonríe. Mañana puede ser peor.
Responder Con Cita
  #6  
Antiguo 16-01-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Ahora sí te entendí...deja buscar entre mis cosas porque hace años me pasaba lo mismo y finalmente lo resolví pero no recuerdo como iba la cosa...Yo en mis épocas de DOS programaba Clipper y después pase a Delphi...de ahí mi problema de ese entonces.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 16-01-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Reitero lo dicho:
Aplicación Clipper: hacer un Tabla->(DbCommit())

despues de la grabación o cambio.

Aplicación Delphi:
Con un Timer reabrir la consulta o tabla cada x segundos para que se entere del cambio si se ha producidol

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 17-01-2008
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Poder: 21
jplj Va por buen camino
Hola:

He logrado desenterrar del "archivo" la Guía de Programación y Utilidades de CA-Clipper.

En relación a Visibilidad de la Actualización en la página 4-17 dice:
Cita:
  • DOS/otras aplicaciones: No se garantiza que aparezcan la actualización hasta que se cierre el fichero o se ejecute una de las siguientes instrucciones: UNLOCK, RLOKC() o COMMIT.
  • Disco: No se garantiza que la actualización aparezca en disco hasta que se ejecute un COMMINT o se cierre el fichero.
Por lo que la solución pasa por modificar la aplicación Clipper.

Muchas gracias por vuestras respuestas.
__________________
Sonríe. Mañana puede ser peor.

Última edición por jplj fecha: 17-01-2008 a las 12:15:49.
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
Leer texto de otra aplicación erika.martinez API de Windows 17 04-05-2007 00:45:15
Como montar una aplicacion ya realizada en delphi 6 a la web Luis Alberto .NET 4 24-11-2005 15:53:49
Como Instalar una aplicacion realizada el delphi6 en win95 CarlosHernandez Firebird e Interbase 1 21-10-2003 02:25:47
Como editar un registro, en una tabla realizada en Ibaccess CarlosHernandez Firebird e Interbase 1 03-10-2003 01:41:00
Descargando archivos de actualizaciones de mi aplicación madman Internet 3 30-06-2003 17:32:05


La franja horaria es GMT +2. Ahora son las 17:50:05.


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