SQL - Durch das Recordset navigieren (VB-Script)

Hallo!

Also ich hab hier ein Problem:

Also ich hab hier eine HTML-seite in der ich zB den namen eines mitarbeiters auswählen kann. ok, jetzt mach ich das, wird dieser feldinhalt an ein asp-script weitergeleitet.

Dieses Script lässt ein Recordset erstellen. Alles schön und gut und es wird auch, so wie von mir gewollt, das zuletzt eingetragene ergebniss gezeigt.
(immer nur ein Datensatz pro Seite)

so, jetzt will ich aber per klick auf einen button oder einen „link“ durch die Datensätze des Recordsets navigieren.
Wie mach ich das am besten?

kann mir da einer helfen?

BITTE! :wink:
danke

Lucilein

hi,

bei ado gibts die möglichkeit von pagerecordsets, dies wird verwendet, wenn du immer eine menge (z.b. 10 oder mehr) von datensätzen als tabelle darstellen willst und dann mit vor und zurück buttons zur nächsten page navigieren kannst.

wenn du die records einzeln durchlaufen willst, dann merke dir die id des records und die sortierung des rs. die funktioniert sehr gut, wenn die daten nicht all zu dynamisch sind (viele user löschen, hinzufügen, ändern).

ich hoffe das hilft etwas
gruss tobias

uhm, mein problem: die datenbank wird täglich um mindestens 5 einträge vergrößert … also schon bissi dynamisch!? :smile:

ansonnsten fragt der eh immer den zuletzt eingetragenen ab. von dem aus einfach immer zum vorherigen zurückblättern (bei dem zB der gleiche name im feld MAID steht).
wirklich schwer kann das ja nicht sein, aber ich checks nicht …

bzw.: wenn der ein Recordset erstellt (was er macht *g*) braucht der doch nur von dem einen eintrag im Recordset zum vorherigen springen … kann doch auch nicht soo schwer sein, oder?
-> also da is dann dynamisch oder nicht egal, oder?

hi,
sorry so ganz kann ich deinen ausführungen nicht folgen. aber ich versuch es trotzdem mal.

du musst dir im klaren sein, dass wenn du den recordset nicht in einer session varibalen speicherst, der recordset (rs) nach dem aufbau der seite weg ist. wenn du jetzt die seite wieder neu aufbauen musst, sagen wir mal beim blättern auf den nächsten datensatz, dann musst du auch den rs neu aufbauen.

für das blättern gibt es nun die möglichkeit den rs ganz zu holen (select * from table), dies ist natürlich nicht so gut, wenn du über 20000 Datensätze in der Tabelle hast. wenn du weniger hast, kannst du mit rs.find den vorherigen suchen und gehst mit rs.movenext einen weiter.

die performante variante für mehr als 50000 ds erfordert extrem lange und etwas tricky sql statements und ist im normalfall eigentlich nicht nötig.

also ich hoffe das bringt was.

gruss tobias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

also, das ist so:

ich frage die datenbank per VB-Script ab. zB nach dem namen eines mitarbeiters.

jetzt legt der sich ein recordset (bei mir Abfrage1) an.

wenn ich das ganze recordset auf einer seite ausgeben lasse funktioniert das -> sieht so aus:

ID 315 Mitarbeiter xxx Firma xxx
ID 307 Mitarbeiter xxx Firma xxx
ID 306 Mitarbeiter xxx Firma xxx
ID 301 Mitarbeiter xxx Firma xxx
usw.

jetzt will ich aber, dass er nur den datensatz mit der höchsten ID (hier 315) anzeigt (in nem schönen HTML-Formular und so :smile:). das funktioniert auch noch [„order by ID desc“].

wenn also dieser eine ds angezeigt wird, will ich per klick auf einen link oder button zum nächsten datensatz (mit der nächstniedrigen ID [hier 307]) springen.

wie mach ich das? bzw: wie muss der link aussehen?

ich hoffe, jetzt weißt du, was ich meine.

Danke für die hilfen!

hi,

also du sortierst nach id. gut, dann könntest du dein sql statement so aufbauen:

select * from tabelle where id

jetzt hast du ein rs, das einigermassen performant aufgebaut wird und den gewünschten datensatz als ersten anzeigt. diesen gibst du einfach aus und vergisst den rest der datensätze.

gruss tobias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]