Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Anzahl Datensätze einer Tabelle beschränken

  Alt 7. Okt 2009, 20:10
Trigger ? Immer dieses DB-Gefummele.

Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var Anz : Integer;
begin
  DS1.Close;
  DS1.SelectSQL.Text := 'SELECT COUNT (*) AS ANZ FROM TESTTABLE';
  DS1.Open; // ^^ momentane Anzahl ermitteln
  Anz := DS1.FieldByName ('ANZ').AsInteger;
  lbl1.Caption := IntToStr(Anz);
  if Anz > 3 then begin
    DS1.Close;
    DS1.SelectSQL.Text := 'SELECT * FROM TESTTABLE'; // alle lesen
    DS1.Open;
    DS1.First;
    DS1.Delete; // ältesten DS löschen
    DS1.Last;
    DS1.Insert; // hinter neuestem DS komplett neuen einfügen
    DS1.FieldByName('CITYNO').AsInteger := Anz;
    DS1.Post;
    Transaction1.Commit;
    DB1.Close;
    Close; // Form schliessen
  end;
end;
Schönes Beispiel wofür die ganzen Dataset-Methoden da sind.

P.S.: elegant ist eher, die DB in Ruhe zu lassen und die dafür gedachten Methoden auch zu benutzen.
Gruß
Hansa
  Mit Zitat antworten Zitat