Thema: Delphi ADO - Limit - Skip

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: ADO - Limit - Skip

  Alt 20. Jun 2005, 23:05
Ich mache es so:
Meine Tabelle hat ein AutoInc-Feld 'ID'. Das ist der Primary Key. Bei MS-SQL legt man einen 'CLUSTERED INDEX' rauf.
Um dase rste Datenpaket von 100 Records abzurufen:
SELECT TOP 100 * FROM MyTables WHERE ID > 0 Man merkt sich nun die ID des untersten Records dieses Paketes. Sagen wir ID[unten] := 1234. Um nun die nächsten 100 Records zu lesen, reicht es, das hier auszuführen:
SELECT TOP 100 * FROM MyTables WHERE ID > 1234 Von diesem Paket merken wir uns wieder die ID des untersten Records usw. Auf diese Weise kann ich Stück für Stück durch den Datenbestand 'scrollen'. Nachteil: Das Rückwärtsscrollen lässt sich nur schwierig realisieren: Es müssen ja die bereits geladenen Datensätze oder zumindest die ID der ersten/letzten Einträge gespeichert werden. Bei hinreichend grossen Paketgrößen sollte Letzteres ausreichende Datenmengen verwalten können.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat