Die letzten 10...

28/02/2008 - 12:45 von Holger Lembke | Report spam
Hi,

ich sinniere darüber nach, welche Lösung die eleganteste ist.

Ich habe eine Datenbank (sql, irgendwo, weit weit weg). Nutzer hat ein
DBGrid, nix neues. Darunter hàtte ich gerne die letzten 10 ausgewàhlten
Datensàtze (genauer: die letzten 10, mit denen er gearbeitet hat) in einem
Extra-DBgrid angezeigt.

Ok, relativ einfach: ich merke mit die IDs der letzten 10 Datensàtze und
baue ein "select from db where (id) or (id$) or ...".

Deutlich eleganzreduzierend ist, dass mir keine vernünftige Lösung für die
Reihenfolge einfàllt.

Ein Grid, was die Daten làd, wàre wieder schön, m.E. aber auch nicht
wirklich viel eleganter.

Man könnte für jeden Nutzer eine Tabelle anlegen, mit ID und Reihenfolge
füllen, JOINen. Auch nicht so prickelnd.

Alternative Vorschlàge?

mit freundlichen Grüßen! Password Must Be at Least 18770 Characters
Holgi, +49-531-3497854 ! Can't Repeat Any of Your Previous 30689 Passwords
 

Lesen sie die antworten

#1 Peter Lange
28/02/2008 - 13:58 | Warnen spam
Holger Lembke schrieb:
Hi,

ich sinniere darüber nach, welche Lösung die eleganteste ist.



Hallo,

Ich habe eine Datenbank (sql, irgendwo, weit weit weg). Nutzer hat ein
DBGrid, nix neues. Darunter hàtte ich gerne die letzten 10 ausgewàhlten
Datensàtze (genauer: die letzten 10, mit denen er gearbeitet hat) in einem
Extra-DBgrid angezeigt.

Ok, relativ einfach: ich merke mit die IDs der letzten 10 Datensàtze und
baue ein "select from db where (id) or (id$) or ...".



Ich würde "select from db where id IN (10,24..)" schreiben.

Deutlich eleganzreduzierend ist, dass mir keine vernünftige Lösung für die
Reihenfolge einfàllt.



Timestamp und Benutzer-ID mittels Trigger bei Insert oder Update setzen.

Ein Grid, was die Daten làd, wàre wieder schön, m.E. aber auch nicht
wirklich viel eleganter.

Man könnte für jeden Nutzer eine Tabelle anlegen, mit ID und Reihenfolge
füllen, JOINen. Auch nicht so prickelnd.



Wenn es nicht darauf ankommt, auch Änderungen Anderer zu verfolgen, so
würde ich die letzten DS in einer Speichertabelle vorhalten, nach
Speicherzeitpunkt sortieren. Ansonsten gefàllt mir die Idee mit der
Tabelle. ID und Timestamp mitführen. Die Anzahl der Datensàtze mittels
Trigger auf die gewünschte Anzahl begrenzen - oder nur die gewünschte
Anzahl holen.


Gruß

Peter

Ähnliche fragen