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
Ir a la versión completa