Estoy tratando de borrar un registro de una tabla con este código:
Código:
fMenu->Query->Close();
fMenu->Query->SQL->Text = "DELETE FROM Persona WHERE Codigo = :Codigo";
fMenu->Query->ParamByName("Codigo")->AsInteger = GroupBox1->Tag;
try
{
fMenu->Query->ExecSQL();
if (fMenu->Query->RowsAffected > 0)
cAux = "Elementos borrados\n" + FormatFloat("0", fMenu->Query->RowsAffected) + " ficha personal.\n" + cAux;
fMenu->Query->Transaction->Commit();
}
catch(Exception &Exc)
{
Screen->Cursor = crArrow;
ShowMessage(Exc.Message);
fMenu->Query->Transaction->Rollback();
throw;
}
El ShowMessage lo tengo puesto para poder capturar el mensaje de error; al ejecutarse el ExecSQL() me da este error:
Cita:
internal Firebird consistency check (partner index description not found (175), file: idx.cpp line: 1412)
|
y remata los mensajes de error con este otro:
Cita:
internal Firebird consistency check (can't continue after bugcheck)
|
Es la primera vez que me enfrento a este error y no se como atacarlo.