Thema: Delphi SetRange und SQL

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: SetRange und SQL

  Alt 4. Okt 2005, 10:09
Damit du einen Range in einer Paradox-Tabelle selektieren kannst, musst du einen Sekundärindex definieren. In deinem Beispiel benötigst du also einen compound key (COL1, COL2). Wenn du SetRange([1,1], [2,1]) ausführst, dann wird effektiv SetRange([1], [2]) ausgeführt, da sich der Start- und Endwert für das Indexfeld COL1 unterscheiden. Nach meiner Erinnerung akzeptiert SetRange() nur beim letzten angegebenen Indexfeld abweichende Werte, was an der Implementierung über einen Sekundärindex liegt. Insofern wäre die korrekte Umsetzung nach SQL diese:

SQL-Code:
SELECT * FROM Tabelle
WHERE Col1 BETWEEN 1 AND 2
ORDER BY Col1, Col2
Ich habe jetzt erst entdeckt, dass du mein Beispiel für SetRange() in deiner Frage abgewandelt hattest - meine hier gegebene Erklärung gilt natürlich analog.

marabu
  Mit Zitat antworten Zitat