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 14-01-2004
vetustas vetustas is offline
Miembro
 
Registrado: oct 2003
Posts: 77
Poder: 21
vetustas Va por buen camino
actualizar campos

Trabajo con delphi 5 y Paradox. Cómo hago para que cada vez que visualice una tabla los datos esten actualizados? es decir, tengo un dbgrid asociado a un data source que a su vez esta asociado a un query. Si muestro el dbgrid y luego modifico uno de sus campos cómo hago para que cuando vuelva a mostrar el dbgrid el dato haya cambiado?
me explico con un ejemplo mejor
tengo un dbgrid asociado a un datasource "dsqryalumnos". uno de los campos que se muestra es si el alumno esta o no inscrito en una practica. si luego yo modifico dicho campo (es decir, inscribo al alumno en una practica) me gustaria que cuando mostrase de nuevo el dbgrid, el campo inscrito de dicho alumno hubiera cambiado automaticamente.
Cómohago?
gracias
Responder Con Cita
  #2  
Antiguo 14-01-2004
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
Lo primero tienes que asegurarte que el dato se grabe, es decir al pulsar el botón que corresponda:

MiTabla.Post;
y en el evento AfterPost, del Ttable:
MiTabla.FlushBuffers;

Con esto trabajando monousuario es suficiente, otra cosa es que tengas formularios MDI y dejando la rejilla abierta sobre los datos puedas ir a otro formulario y hacer un cambio.

En este caso nos pasaría algo similar al trabajo en red, para asegurarnos que estamos leyendo unos datos actualizados, tendríamos que hacer un "Refresh", sobre la tabla o Query.
Se puede poner un botón para que el usuario refresque cuando quiera, de hecho el DbNavigator, ya trae uno.

Se puede colocar un Timer que provoque un refresco cada cierto tiempo...

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 14-01-2004
vetustas vetustas is offline
Miembro
 
Registrado: oct 2003
Posts: 77
Poder: 21
vetustas Va por buen camino
Mmm...no me funciona. A lo mejor no me explique bien. A ver, yo tengo un grid donde tengo los datos de los alumnos. Pero para ver los datos de los alumnos de un curso en concreto tengo que pulsar un boton que lo que hace es llamar al query que dije antes. El caso es que cuando modifico uno de los campos y vuelvo a mostrar el listado, pues los datos no han cambiado. Eso si, en cuanto le doy al boton ese que os digo que llama al query, entonces si, el dato ha cambiado. Estoy pensando que a lo mejor lo que tengo que refrescar es el grid....eso es posible?
gracias
Responder Con Cita
  #4  
Antiguo 14-01-2004
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
Cita:
tengo un dbgrid asociado a un datasource "dsqryalumnos".
Bueno ahora lo veo más claro, según parece la rejilla la tienes conectada una consulta, en Paradox no existe la instrucción "Requery", por lo que el refresco es tan simple como volver a armar la consulta, puedes utilizar el evento OnChange del campo que modificas y cada vez que esto ocurra, cierras la consulta y la vuelves a activar de nuevo.

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


La franja horaria es GMT +2. Ahora son las 22:24:43.


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