Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   no guarda los datos cuando cierro la aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=72863)

marcos_0586 16-03-2011 03:34:18

no guarda los datos cuando cierro la aplicacion
 
hola,amigos del foro, estoy nuevamente con un problema, que verdaderamente no se me ocurre porque puede ser, bueno paso a contar, antes que nada les digo que estoy trabajando en delphi 6 y con databases desktop desde una maquina virtual (Sun VirtualBox) ya que lo ejecuto en una notebooks con windows 7, bueno, el tema es que ya tengo armado un sistema con varios formularios en los cuales realizo ABM de empleados y clientes lo cual lo hace sin problema y guarda todos los datos que le ingrese pero a veces me pasa que genero un nuevo registro y cuando salgo del sistema y vuelvo a entrar ya no esta ese registro y asi me pasa con todo lo que guardo en las tablas, le puse un tablex.post cada vez que guardaba el dato pero lo raro es que a veces me guarda los datos y a veces no y no es que se pisen los datos ni nada de eso directamente no quedan. si a alguien le paso algo similar o sabe porque pasa esto,me ayudaria mucho saberlo, desde ya muchas gracias por su tiempo.
pd:no pongo el codigo porque no sabria que poner ya que en todo el proyecto pasa lo mismo. pero simplemete pongo el nombre de la tabla.post cuando quiero que se guarde.

marcoszorrilla 16-03-2011 07:06:16

Si la tabla es Paradox, en el evento AfterPost de la tabla tienes que poner:

Código Delphi [-]
Table1.FlushBuffers;

Código Delphi [-]
procedure TDmConex.ContadoresAfterPost(DataSet: TDataSet);
begin
DmConex.Contadores.FlushBuffers;
end;

Si es Firebird:

Commit;
ó
CommitRetaining;

Un Saludo.

marcos_0586 16-03-2011 19:39:33

Hola,gracias por la respuesta marcoszorrilla, pero necesitaria saber dos cositas,la primera: donde debo poner Table1.FlushBuffers;
y la seguda:que es DmConex porque cuando ejecuto me dice undeclared identifier:'DmConex' donde deberia declararlo?? gracias

marcos_0586 16-03-2011 20:13:36

Cita:

Empezado por marcos_0586 (Mensaje 393824)
Hola,gracias por la respuesta marcoszorrilla, pero necesitaria saber dos cositas,la primera: donde debo poner Table1.FlushBuffers;
y la seguda:que es DmConex porque cuando ejecuto me dice undeclared identifier:'DmConex' donde deberia declararlo?? gracias

perdon ,no habia prestado atencion donde en tu ejemplo dice
Código Delphi [-]
procedure TDmConex.ContadoresAfterPost(DataSet: TDataSet);
 begin
 DmConex.Contadores.FlushBuffers;
 end;

yo tengo:

Código Delphi [-]
procedure TForm1.Table1AfterPost(DataSet: TDataSet);
begin
Table1.FlushBuffers;
Form1.Table1.flushbuffers;
end;

esto es correcto?? es decir, table1.flushbuffer va en ese lugar??gracias

beginner01 16-03-2011 21:34:32

Cita:

Empezado por marcos_0586 (Mensaje 393826)

Código Delphi [-]procedure TForm1.Table1AfterPost(DataSet: TDataSet);
begin
Table1.FlushBuffers;
Form1.Table1.flushbuffers;
end;




esto es correcto?? es decir, table1.flushbuffer va en ese lugar??gracias

solo debes ponerlo una vez asi.
Código Delphi [-]
procedure TForm1.Table1AfterPost(DataSet: TDataSet);

begin
Table1.FlushBuffers;
end;

marcoszorrilla 16-03-2011 21:39:11

Creo que ya ha quedado aclarado, pero en relación con DmConex te diré que es el DataModulo en donde tengo las tablas, de ahí su referencia.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 23:13:36.

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