Frank aus Ulm: Objekte übergeben oder Global

Beitrag lesen

Hi, hallo

ja, http ... hat so seine nachteile -> response auf request usw...
d.h. man kann beim submitten von Formularen nicht einfach ein Objekt übergeben, weil das Objekt ja auf Client-Seite nie existierte und auf dem Server schon lange wieder geschlossen ist, wenn der Client irgendwelche Ausgaben betrachten kann.

Variante A)
das gesamte Recordset wird dem Client zugestellt und mit einem fiesen Javascript-Konstrukt beschaltet

Variante B)
du läßt mal ein wenig deine Gedanken spielen ...

die Idee mit einem Zähler ist nicht ganz schlecht, ich würde aber an dieser Stelle in dem "zum nächsten Datensatz"-Formular aber die Datensatz ID des aktuellen oder des nächst-kommenden Datensatzes übergeben - KEIN Objekt sondern ein einfacher Wert :-)

an einem zusätzlichen SQL-Statement wird man da nur sehr schwer vorbeikommen. Das SQL ist abhängig von Datenbanksystem (Access, SQL Server, Oracle, MySQL) - wobei MySQL aufgrund von Unfähigkeit bei Subselects ausfällt. Pech!

Um einen Datensatz aufzurufen, solltest du dessen eindeutigen Bezeichner verwenden -> Datensatz ID
die 8 ist beispiel .. du kannst auch mit der 17 oder 5980564 anfangen

SELECT * FROM tabelle1 WHERE tabelle1.ID = 8

der Datensatz davor hat schätzungsweise eine ID < 8 und der danach eine ID > 8
also benötigst du entsprechendes SQL um den ersten Datensatz rauszufinden, der eine ID hat die größer/kleiner ist als die ID des gegenwärtigen.
mit T-SQL: SELECT TOP 1 next_ID FROM (SELECT ID as next_ID FROM tabelle1 WHERE ID >" & yourCurrentID & " ORDER BY ID ASC)"

bei Oracle funktioniert TOP 1 übrigens nicht ... dort muß man mit rownum nach WHERE arbeiten.

gleiches Verfahren kann man auch mit leichten Veränderungen benutzen wenn man Listen mit n-Einträgen durchschalten will, also immer 50 Datensätze mit einmal gelistet anzeigen lassen möchte.

Ich hoffe, dieser Schubser reicht aus um den Weg ins Licht zu finden :-)

HTH

Tschau, tschüß,
Frank