Einzelnen Beitrag anzeigen

DasWolf

Registriert seit: 7. Jun 2016
75 Beiträge
 
Delphi 10.1 Berlin Professional
 
#17

AW: Datensätze löschen, dass die 100 neuesten übrig bleiben

  Alt 8. Okt 2018, 12:19
Ich mache das nach jedem Ermitteln einer neuen ID immer wie folgt:

Delphi-Quellcode:
function TGetMaxID.GetMaxID: integer;
begin
  with TFDQuery.Create(nil) do
  try
    Connection := fConnection;
    sql.add('SELECT IdentityCol');
    sql.add('FROM MaxTable');
    sql.add('WHERE UPPER(rowguid) = :rowguid');
    Params[0].Value := AnsiUpperCase(fRowGuid);
    Prepare;
    open;

    Result := Fields[0].asInteger;

    // Bis auf die letzten 10 Einträge alle Daten aus ID-Tabelle löschen
    sql.clear;
    sql.add('DELETE FROM MaxTable WHERE ID_Max+10 <= :ID_Max');
    Params[0].DataType := ftInteger;
    Params[0].Value := Result;
    Prepare;
    ExecSQL;
  finally
    Free;
  end;
end;
  Mit Zitat antworten Zitat