Programación General > C++ Builder

 Borrado De Registros

(1/1)

kekal:
hola, resulta que tengo una tabla
donde en determinado momento de la aplicación borra un/os registros de una tabla, la tabla en cuestion es de dbase (.dbf), y tiene un borrado lógico y otro físico
el lógico marca los registros como borrados, el físico los borra del archivo
resulta que a la hora de de borrar
ya sea con...

--- Código: Text --- tabla->Delete();   o con un query...

--- Código: Text --- qtabla->Active=false;qtabla->SQL->Clear();qtabla->SQL->ADD("delete * from tabla where valor=-1");qtabla->Active=false;  
lo que hacen es un borrado lógico, lo que quiero es borrado físico dado que las tablas de trabajo crecen muchisimo por los registros borrados

si alguien tiene alguna idea
Gracias

Fermin:
HOla Kekal:

Espero que este código te sirva. Realiza el borrado físico de una tabla dbase:

 :comp:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   DBIResult        rslt;
   CURProps       CurProps;
   hDBIDb           hTmpDb;
   hDBICur hTmpCur;

   Table1->Active = true;
   Check(DbiGetCursorProps(Table1->Handle, CurProps));
   if (strcmp(CurProps.szTableType, szDBASE) == 0)
      {
        Check(DbiPackTable(Table1->DBHandle,Table1->Handle,NULL,szDBASE, TRUE));
      }
  Table1->Open();
}
//---------------------------------------------------------------------------

Navegación

[0] Índice de Mensajes

Ir a la versión completa