Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Sortierung der daten in datenbank (https://www.delphipraxis.net/14251-sortierung-der-daten-datenbank.html)

Jens Schumann 6. Jan 2004 13:30

Re: Sortierung der daten in datenbank
 
Stimmt. Du hast recht. Die Daten sind nicht sortiert.
Da war ich etwas zu schnell.
In der SQL Eigenschaft von TQuery muss ja auch SELECT * FROM country ORDER BY area DESC stehen

Minz 6. Jan 2004 13:34

Re: Sortierung der daten in datenbank
 
wenn du z.B. nach datum sortieren willst brauchst du blos einen Index einzuführen. Diesen vergibst du in der Datenbankoberfläche. Du musst dafür nichts programmieren.

Es handelt sich dann um einen Sekundärindex, dem du das Datumsfeld hinzufügst.

eddy 6. Jan 2004 23:33

Re: Sortierung der daten in datenbank
 
Hallo Fengi,

Index auf Datum legen, also Tabelle nicht sortieren sondern nur indizieren (geht schneller):

Code:
procedure TFTermin.Indexneuaufbauen1Click(Sender: TObject);
begin
  Tab1.Close;
  Tab1.Exclusive := true;
  Tab1.Open;
  Tab1.IndexDefs.Clear;
  Tab1.IndexDefs.Update;
  Tab1.AddIndex('','ID', [ixPrimary]); // ID vom Typ ftAutoInc evtl. Deine Terminnummer
  Tab1.IndexDefs.Update;
  Tab1.AddIndex('Datum', 'Datum;Zeit', [ixCaseInsensitive]); // Datum; Uhrzeit
  Tab1.IndexDefs.Update;
  Tab1.AddIndex('Such', 'Such', [ixCaseInsensitive]); // Beschreibung
  Tab1.IndexDefs.Update;
  Tab1.Close;
  Tab1.Exclusive := false;
  Tab1.Open;
end;
Du mußt natürlich Deine Feldbezeichner verwenden. Falls Du kein Feld ID für den PrimärIndex hast, ergänze Deine DB (ID muß 1. Feld in der Liste sein) oder denk' Dir ein anderes Feld als Primärindex aus.

Anwendung:

Code:

const
  ixDatum = 'Datum';

procedure TFTermin.FormActivate(Sender: TObject);
begin
  ....
  UP_DBActiv(Tab1,SessN,DataPath,fnTermin); // Termin-DB öffnen
  try
    Tab1.IndexName := ixDatum;
  except
    Indexneuaufbauen1.Click;
    Tab1.IndexName := ixDatum;
  end;
  ....
mfg
eddy


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz