Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Delete en una DBF (https://www.clubdelphi.com/foros/showthread.php?t=63002)

RoyTan 25-01-2009 11:42:45

Delete en una DBF
 
Saludos a los foreros del club.

Tengo una gran duda sobre si realmente se borran los registros de una DBF o solo los marca.

Por ejemplo

ModuloDatos.TTablaPoblacion.Delete;

Curiosamente utilicé un programa para ver mis DBF concretamete el CDBF Viewer editor ¿y cual fué mi sorpresa?
Pues sencillamente que los datos que habia borrado durante todo el año de mi base de datos DBF estaban ahí, no se habian borrado.

Y ahora me pregunto ¿se pueden borrar definitivamente o solo marcar como lo hace DELETE?

Gracias

pcicom 25-01-2009 12:04:46

Las tablas planas DBF unicamente marca los registros como eliminados, para eliminarlos fisicamente deberas de hacer PACK en la tabla..

Puedes intentarlo de la siguiente forma.

Código Delphi [-]
procedure PackDBF(Tabla:Ttable);
begin
   Try
      Check(DbiPackTable(tabla.DBHandle,tabla.Handle,nil,szDBASE,True));
   except
      showmessage('Ocurrio un error al hacer pack');
   end;
end;

RoyTan 29-01-2009 23:06:01

Gracias Pcicom por la respuesta.
Efectivamente funciona a la perfección.
Gracias de nuevo.
Un saludo.


La franja horaria es GMT +2. Ahora son las 21:51: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