Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 23. Apr 2003, 17:06
Hallo Crr,

das ist so nicht ganz richtig. Ein Sekundärindex ist oder mehrere Felder, die zur schnellen Suche und/oder Sortierung einer Tabelle genutzt werden können. Sekundärindices sind unabhängig vom Primärindex und können (müssen aber nicht) eindeutig sein. Wenn du bei einem TTable Objekt z.B. das Feld IndexName auf einen solchen Index setzt, wird die Tabelle automatisch nach diesem sortiert und du arbeitest immer auf derselben Tabelle.

Da du -wie ich gerade noch einmal gesehen habe- aber mit einer TQuery Komponente zur arbeiten scheinst, helfen Indices dabei nicht. Benutzt du aber das SQL Statement nur zur Sortierung, sind Sekundärindices eine Alternative.

Musst oder willst du aber mit einer TQuery-Komponente arbeiten. Gibt es auch eine Möglichkeit. Du merkst dir die ID des Datensatzes, schließt die Query, erzeugst die neue (mit der neuen Sortierreihenfolge), öffnest die Query und benutzt Locate, um den vorher gewählten Satz wieder auszuwählen:

Delphi-Quellcode:
LastId := myQuery.FieldByName('ID').AsInteger;
myQuery.Close;
{ neues SQL Statement erzeugen }
myQuery.Open;
myQuery.Locate('ID', LastId, []);
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat