Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cual es la forma mas facil de refrescar tablas? (https://www.clubdelphi.com/foros/showthread.php?t=47407)

Gaim2205 27-08-2007 17:38:44

cual es la forma mas facil de refrescar tablas?
 
tengo una aplicacion donde doy de alta algunos datos (nombre, clave, etc, etc) en una form, despues salgo de ella y al entrar a otra, los datos deben estar actualizados dentro de un dbgrid. el problema es que a veces lo hace, a veces no. he intentado con el table.refresh y algunas otras cosillas pero sigo en las mismas.

cual es la forma para que me muestre los datos ya actualizados en ese dbgrid, que aclaro de nuevo, esta en un form diferente.

gracias...

Caro 27-08-2007 18:15:05

Hola

Código Delphi [-]

 table.Close;
 table.Open;

//o
 
 table.Active := False;
 table.Active := True;


Saluditos

Gaim2205 27-08-2007 18:34:56

aun asi no lo hace... hasta la proxima vez que inicio la aplicacion. Estoy trabajando con Firebird. que puede ser lo que esta pasando?

martinzcr 27-08-2007 19:47:19

Hola:

El problema de la actualización se resuelve haciendo un commit de la transacción con la que estas trabajando.
Yo utilizo los componentes FibPlus para conectarme a la base de dtos. Estos componentes te permiten tranajar con 2 transacciones a la vez (una para lectua y una para escritura). En este caso, cada vez que editas un registro, en el evento OnPost agregas un commit de la transacción y asunto resuelto.

saludos!

Gaim2205 27-08-2007 20:30:27

Si lo intenté tambien... voy a plantearlo de nuevo.
Cuando hago un delete, insert o update en una tabla, si la tabla esta relacionada a un dbgrid en la misma form se refresca sin problemas y muestra los datos bien actualizados.

pero cuando el que se tiene que actualizar es un dbgrid de otra form, no lo hace, por mas commits, updates y refresh que le ponga. Solo lo hace a la siguiente vez que inicio la aplicacion..

que podra ser esto? :S... usando firebird.. componentes MDO. Nunca me habia pasado esto.

gracias

BlueSteel 27-08-2007 22:03:21

a mi tambien me paso eso hace algun tiempo.. y lo solucione de la sgte forma

en la transacción asociada a la tabla (en realidad podrias hacerlos en todos).. le haces doble clic y activas la propiedad Read Committed

y con eso se actualizarán los datos desde un formulario a otro:p

Gaim2205 27-08-2007 22:14:14

nop... no quiere, la verdad a mi tambien se me hace muy raro, habia programado cosas muy similares usando tablas en paradox y nunca me habia pasado. Incluso al inicio de la programacion de esta aplicacion (ya con firebird) estoy 99% seguro que no me pasaba esto.

a que le movi? quien sabe, si alguien tiene mas ideas son bienvenidas.


La franja horaria es GMT +2. Ahora son las 02:18:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi