Thema: Delphi ADO - Limit - Skip

Einzelnen Beitrag anzeigen

hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

ADO - Limit - Skip

  Alt 17. Jun 2005, 17:00
Datenbank: MS-Access • Zugriff über: ADO
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
  Mit Zitat antworten Zitat