Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   vaciar tabla paradox en tiempo de ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=67090)

jacapu 27-03-2010 19:27:00

vaciar tabla paradox en tiempo de ejecucion
 
Hola, tengo un programa en delphi que usa tablas paradox. A veces se me bloquea y se cuelga. Cuando vuelvo a arrancarlo, al cargar las tablas con datos guardados en ficheros de texto se produce un keyvilolation porque las tablas no han quedado vacias al salir y tengo que ir al DataBaseDesktop y vaciarlas una a una desde allí. He preparado un procedimiento usando el método Emptytable de Delphi para vaciarlas automáticamente al entrar de nuevo al programa y ahorrarme el vaciarlas una a una desde el DataBaseDesktop pero no funciona.
Este es el código que uso para vaciar los registros de la tabla al producirse el bloqueo que he mencionado antes:

//nudos
if DM1.SNudoT.State in [dsinsert,dsEdit] then DM1.NudoT.Cancel;
DM1.NudoT.Close;
DM1.NudoT.IndexName:='';
DM1.NudoT.Open;
if DM1.NudoT.IsEmpty=False then
begin
StatusBar1.Panels[4].Text:='Vaciando datos Nudos ';
StatusBar1.Update;
DM1.NudoT.Close;
DM1.NudoT.EmptyTable;
DM1.NudoT.Open;
end;

Gracias de antemano. Saludos.

NPIdea 29-03-2010 13:42:04

Si no recuerdo mal, para hacer un emptytable tienes que poner la tabla en modo exclusivo

Tabla.Exclusive:=True;

La borras con emptytable y le vuelves a dejar el exclusive a false.

Un saludo


La franja horaria es GMT +2. Ahora son las 21:29:50.

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