Wie in Datansätzen blättern?
Jochen Frenzer
- datenbank
Hi together,
baue mal wieder auf Eure Hilfe.
Ich lese derzeit innerhalb einer ASP Seite einen Datnsatz aus einer SQL Server Tabelle aus und zeige diesen im Web an.
Nun soll man ausgehend von diesem Datensatz zum nächsten, vorherigen, ersten und letzten Datensatz springen können.
Hoffe ihr habt eine Idee.
Schöne Grüße,
Jochen
Nun soll man ausgehend von diesem Datensatz zum nächsten, vorherigen, ersten und letzten Datensatz springen können.
Hallo Jochen,
nun bin ich zwar nicht _der_ SQL Experte, aber da gibts so nette Abfragen wie:
SELECT TOP 10 liste_der_felder FROM tabelle WHERE primärschlüssel > irgendwas ORDER BY primärschlüssel ASC
Das ist jetzt ins "Unreine" gesprochen und stimmt so sicher nicht ganz, aber Du weißt jetzt, wo Du bei Deinem SQL-Buch nachsehen kannst.
Ciao
Hans-Peter
Hi Jochen,
Nun soll man ausgehend von diesem Datensatz zum nächsten,
vorherigen, ersten und letzten Datensatz springen können.
Dein Hauptproblem ist m. E. die Kombination aus
a) relativer Adressierung der Datensätze "der nächste", was
ein Gedächtnis erfordert, und
b) der Verwendung von HTTP, welches zunächst einmal selbst
kein Gedächtnis besitzt.
Also mußt Du von Request zu Request die aktuelle Position
innerhalb Deiner Tabelle als Query-String-Parameter übergeben.
Ein zusätzliches Problem könnte darin bestehen, daß der Begriff
"der nächste" durch gleichzeitige Änderungen im Datenbestand
Deiner Tabelle droht, undefiniert zu werden. Beachte folgende
Probleme:
Verglichen mit dieser Problematik ist die eigentliche techni-
sche Abwicklung (Lesen eines Teilbereiches über irgend eine
LIMIT-Klausel Deines SELECT-Statements) wahrscheinlich von
eher untergeordneter Komplexität.
Viel Spaß beim Programmieren
Michael
Hallo Michael,
Deine Antwort verstehe ich nicht. Mit der von mir vorgeschlagenen einfachen Lösung existiert Problem (a) nicht, weil immer auf den Primärschlüssel referenziert wird (also absolut, nicht relativ) und Problem (b) existiert nicht, weil der Primärschlüssel eine Eigenschaft der Datenbank-Tabelle ist und nicht eines nicht vorhandenen HTML-Gedächtnisses.
Es ist egal was zwischenzeitlich in der der Datenbank an geändert, gelöscht oder eingefügt wurde (selbst wenn der aktuelle Eintrag gelöscht wurde), mit dem Primärschlüssel als Suchkriterium funktioniert es immer.
Ciao,
Hans-Peter
Hallo Hans-Peter,
Es ist egal was zwischenzeitlich in der der Datenbank an geändert,
gelöscht oder eingefügt wurde (selbst wenn der aktuelle Eintrag gelöscht
wurde), mit dem Primärschlüssel als Suchkriterium funktioniert es immer.
wer sagt Dir, daß der Primärschlüssel das Sortierkriterium sein _kann_?
In den meisten Fällen ist das gar nicht möglich, weil als Sortierkriterium
ggf. ein dem Benutzer verständliches Attribut verwendet werden muß, was
der Primärschlüssel aber aus technischen Gründen oftmals nicht sein darf
(weil man Primärschlüssel nicht ändern kann, ohne das zugrundeliegende
relationale Modell zu zerstören).
Viele Grüße
Michael