Hallo allerseits,
Ich suche nach einer Möglichkeit, eine bestimmte Anzahl an Datensätzen ab einer bestimmten Position mittels
ADO auszulesen. Da bei
ADO leider kein Skip, wie z.B. bei
mySQL oder Firebird funktioniert, habe ich versucht, folgenden Code zu verwenden, in welchen ich Anzahl und Skip übergebe:
Delphi-Quellcode:
if Skip > 0 then
ZQ_Artikel.SQL.Text :=
'SELECT TOP ' + IntToStr(Anzahl) + ' * FROM ARTIKEL ' +
'WHERE ARTNR NOT IN (SELECT TOP ' + IntToStr(Skip) + ' ARTNR FROM ARTIKEL) ' +
'ORDER BY ARTNR'
else
ZQ_Artikel.SQL.Text :=
'SELECT TOP ' + IntToStr(Anzahl) + ' * FROM ARTIKEL ORDER BY ARTNR';
Dieser Code funktioniert relativ gut am Beginn der Tabelle, je weiter hinten man jedoch zugreifen möchte, desto langsamer wird natürlich der Zugriff.
Hat hier jemand vielleicht schon eine Methode entdeckt, die überall gleich schnell funtkioniert?
mfg
Herbert