Entwickler-Ecke

Datenbanken - DBGrid sortieren OHNE Index


Szorcc - Do 10.07.03 12:22
Titel: DBGrid sortieren OHNE Index
Hi,

ich bekomme Daten in ein DBGrid in der Reihenfolge:
Dataset -> Datasource -> DBGrid.

Wie kann ich nach bestimmten Columns sortieren, ohne einen neuen Index zu erstellen?

Oder kann ein Index auch ohne zu speichern erzeugt werden, sozusagen temporär?

Danke Szorcc.


grayfox - Do 10.07.03 12:48

hallo szorcc!
vom direkten sortieren im DBGrid halte ich nicht besonders viel, da finde ich die sortierte anzeige viel praktischer.
indizes von tabellen kannst auch noch zur laufzeit erzeugen und wieder löschen.
sieh dir mal diesen beitrag an: --> index [http://www.delphi-groups.de/YaBBSe/index.php?board=2;action=display;threadid=13;start=0]

mfg, stefan


kiwicht - Do 10.07.03 14:13

Meines Erachtens dürfte die Sortierung auch ohne Index funktionieren, und zwar wenn du SQL benutzt:

Also einfach ne SQL-Komponente anstatt deines DataSets, und
zur Laufzeit folgenden SQL-String übergeben:

SELECT * FROM myDB ORDER BY feld1 (DESC)

Wenn du hinten ein DESC ranhängst, werden die Datensätze "andersherum" gelistet...

Ich mach das ganz genauso, und arbeite auch ohne Indizes, hoffe das hilft dir weiter...

mfG


Szorcc - Do 10.07.03 16:58

@kiwicht: Leider kann ich kein SQL benutzen, da das Dataset dies nicht unterstützt. :-(


kiwicht - Do 10.07.03 20:29

hm.. und, die frage ist vielleicht überflüssig, ich stell sie aber trotzdem:
Du kannst nicht eine andere DB-Kompo nutzen, die SQL unterstützt?

mfG


Szorcc - Di 15.07.03 17:04

Nein, leider nicht.
"Normalerweise" setzt man ja TTable ein, um auf dBase-Tabellen zuzugreifen. Ich habe eine Kompo., die ich statt TTable nehme und die mir den ganzen BDE-Quatsch erspart. Die Kompo kann aber leider kein SQL.
Vielleicht ist das mit einem Index ganz schlau, aber ich will nichts speichern. Der Index dürfte also nur zur Laufzeit existieren.

Szorcc