Ist sortieren im CStringArray möglich?



  • Hi zusammen ich les aus einer DB 2 Spalten in ein CStringArray.
    Jetzt steht da dann z.B. folgendes drin

    17\t0
    28\t3
    15\t10

    kann ich jetzt das Strinarray nach den vorderen zahlen sortieren? Ist das ein arges Knobelspiel? Denn das sortieren in der DB ist nicht ganz so einfach, da da so einiges abgeht und ich zu glauben meine, dass es so einfacher ist (Ich erstell in ner Abfrage Temps und vergleich dann wieder die Temps und das Vergleichergebnis wird dann wieder irgendswie in mein CStringarray geschrieben)

    Soll ich lieber in die SQL-Query gehen oder kann man hier sortieren??

    Danke schon im Voraus



  • 1. Es geht mit beiden Methoden:
    DB: select * from tab order by to_number(substr( tname, instr(tname,chr(7) )) -- (so in etwa )
    oder z.B. mit einem function based index. Je nach Fähigkeit der DB.

    CStringArray: verwende doch qsort und schreib dir eine entsprechende Vergleichsfunktion.

    2. Welche der Methoden die richtige ist hängt von vielen Faktoren ( z.B. Anzahl Daten / Wie oft wird die Tabelle abgefragt (caching) / Welche DB / Ist die DB auf einem Server mit viel RAM, ... )

    Generell würd ich sagen:
    Wenig Daten und eine Access-DB -> Sortiere in C++
    Viele Daten und eine vernünftige DB mit indizes o.a. Dinge auf einem eigenen Server -> Sortiere in der DB


Anmelden zum Antworten