Autor Beitrag
Wolle92
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: Mi 13.05.09 21:01 
Hallo,

ich muss folgendes realisieren:
Von dieser Seite die Einträge lesen und in die Datenbank packen (zwei Spalten: key und count), danach dann die Einträge durchgehen, jeweils zählen wie oft diese vorkommen, beim ersten Eintrag count akutalisieren, alle anderen gleichen Einträge löschen.
Das ganze soll alle paar Minuten passieren.

Jetzt stellt sich mir die Frage, was die effizienteste (und einfachste) Lösung dafür ist?

Danke,
Wolle

_________________
1405006117752879898543142606244511569936384000000000.
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 14.05.09 07:26 
Ich würde mit 2 Tabellen arbeiten. In der einen Tabelle hältst Du nur die Daten, die Dich wirklich interessieren (Key+ Count). In die 2. Tabelle liest man die Einträge ein, zählt und aktualisiert die andere Tabelle. Diese zweite Tabelle kann man dann beim lesen immer vorher leeren.
Wenn es nicht wirklich eine Tabelle sein muss dann kann man die Daten, die Dich interessieren auch einfach abfragen. Das heißt, Du liest nur die Daten in eine Tabelle ein. Dann ein SELECT COUNT(*), KEY FROM TABELLE GROUP BY KEY und schon hast Du, was Du willst.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Wolle92 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: Do 14.05.09 15:25 
Man kann doch mit der Zeile auch erst lesen und dann die gegroupten counts in die zweite tabelle reinschreiben ;)

_________________
1405006117752879898543142606244511569936384000000000.