Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Como eliminar las sessions!? (https://www.clubdelphi.com/foros/showthread.php?t=30701)

famcd 15-04-2006 17:01:57

Como eliminar las sessions!?
 
Hola! resulta que tengo una tabla en paradox. Tengo hace bastante el problema que cuando ocurre un error y mi aplicacion no se cierra con normalidad, todas las tuplas insertadas o modificadas desaparecen. Averiguando, me entere que paradox crea una sesion entre la aplicacion y la tabla, que almacena temporalmente los cambios, y que al cerrar la aplicacion recien plancha todo en la tabla real.

Mi pregunta es: es realmente asi? es una solucion eliminar la sesion para que los cambios se apliquen directamente sobre la tabla? como se haria eso en delphi 7? de verdad agradecería mucho que me ayuden....
saludos a todos! y felices pascuas!

Sotrono 15-04-2006 17:37:52

Hola, Como haces la inserción de los datos??. Una vez que se insertan ya quedan guardados en la tabla.
Si lo haces con codigo SQL no tendria que haber problemas. En caso de que lo hagas de otra forma, haces un Post de la Tabla??:

Código Delphi [-]
with Table1 do begin
  Insert;
  FieldByName('Campo1').AsString := 'aaaa';
  FieldByName('Campo2').AsString := 'bbbb';
  Post; //Guarda los cambios
end;

Bytes...

roman 15-04-2006 18:57:09

Si no mal recuerdo, hay que usar Table.FlushBuffers para forzar que los datos se almacenen de inmediato en el disco duro.

// Saludos

famcd 16-04-2006 01:56:23

hola a todos! el codigo que utilizo es el siguiente


Código:

with q_aart do
begin
close;
requestlive:=false;
with sql do
begin
Clear;
Add('insert into dbarticulos values(: p1,: p2,: p3)');
end;
paramByName('p1').asString:=txt_numero.Text;
paramByName('p2').asString:=txt_nombre.text;
paramByName('p3').asString:=txt_descripcion.text;
execSQL;
end;


es bastante básico no mas el codigo que uso...:p .... En otro post que puse sobre el asunto (el cual no tuvo mucho exito...) me aconsejaban hacer commit; o applyupdate; pero no me funciono, me daba error de escritura en memoria y cosas semejantes. Podrian mostrarme con algo de detalle y profundidad que codigo y controles usan para hacer sus consultas?? por favor? Yo uso solamente la Query (le asigno la ruta de la bd...)

Muchas gracias a todos y felicidades!!

Lepe 16-04-2006 11:36:19

Completando lo dicho por el compañero Roman, esa instrucción debe ir en el evento Afterpost de cada TTable.


La franja horaria es GMT +2. Ahora son las 04:44:23.

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