Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Eliminar fisicamente registros en dbf's.

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Eliminar fisicamente registros en dbf's. Responder citando

Hola a todos :

Cuando borro un registro de un dbf (visualfoxpro - foxpro), los registros solo quedan marcados como borrados pero, fisicamente permanecen en la tabla.
Como puedo eliminarlos fisicamente de la tabla ?.

Volver arriba
Mensaje    Asunto: Eliminar fisicamente registros en dbf's. Responder citando

pues eso, lo que te digo en el foro de la peich del Club Delphi, el PACK ese.

tolemaC
exit();

Volver arriba
Mensaje    Asunto: Eliminar fisicamente registros en dbf's. Responder citando

Hay un programita en 'www.gjl-software.co.uk' que esta muy bien.
Es el Database Utilities, es shareware.

Volver arriba
Mensaje    Asunto: Eliminar fisicamente registros en dbf's. Responder citando

Una forma de eliminar los registros fisicamente de tu base de datos, seria:

1. crear otra base de datos con los mismos
campos.
2. Traspasar todos los reg. no marcados para
borrar a la segunda base de datos
3. Eliminar la base de datos original
4. renombrar la segunda ( bd copia ) como
la original

Volver arriba
Mensaje    Asunto: Re: Eliminar fisicamente registros en dbf's. Responder citando

America escribió:
Hola a todos :<P>Cuando borro un registro de un dbf (visualfoxpro - foxpro), los registros solo quedan marcados como borrados pero, fisicamente permanecen en la tabla.<BR>Como puedo eliminarlos fisicamente de la tabla ?.


Con:
pack
nena
Volver arriba
Mensaje    Asunto: Responder citando

Estimada America, para borrar los registros de una base de datos. que estan en modo delete, debes utilizar la sentencia ApplyUpdates, del DataSet, esto hace que tus registros se borren, esto es similar al Pack, pero si lo preguntaste a en este lado.. es por que de seguro estas trabajando con C++ Builder

Código:

void __fastcall TForm1::DetailBeforeClose(TDataSet *DataSet)
{
  TDataSet* Tables[2];
  if (Master->UpdatesPending || Detail->UpdatesPending)
  {
    if (Master->UpdateStatus == usInserted)
    {
      Tables[0] = Master;
      Tables[1] = Detail;
      Database1->ApplyUpdates(Tables,1);
    }
    else
    {
      Tables[0] = Detail;
      Tables[1] = Master;
      Database1->ApplyUpdates(Tables,1);
    }
  }
}


Saludos..
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

La solucion para este dilema en mi caso, fue hacer un programita externo..llamado .."pack.exe" ..generado con clipper..ahi reindexo y compacto
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.