Seite 1 von 1

SQLite Datenbank, Tabelle nach DATETIME sortieren...

Verfasst: 1. Oktober 2009 11:35
von RobRoy1304
Hallo,

ich habe eine Tabelle u.a. mit einer Spalte vom Typ DATETIME. Diese benötige ich nur
für das Datum. In der DB wird dieses Datum im Format z.B. ''2009-10-01'' gespeichert.
Nun möchte ich die Datensätze nach dem Datum sortierent ausgeben.

Die SQL-Anweisung:

Code: Alles auswählen

SELECT * FROM trade ORDER BY date DESC
funktioniert mit dem Tool SQLite Database Browser, aber leider nicht in meinem Programm.
Dort ist die Reihenfolge der Datensätze willkürlich. Was mache ich falsch???

Ich arbeite mit dem QT-Creator unter Ubuntu 32-bit.

Verfasst: 8. Oktober 2009 15:03
von toem
Also ich habe eine Tabelle mit Arbeitszeiten. Da ist auch ein Datum enthalten. Ausgeben tu ich die Daten via:

Code: Alles auswählen

mod = new QSqlTableModel();
mod->setTable("arbeitszeit");
mod->setSort(0, Qt::DescendingOrder);
mod->select();
m_ui->tableView->setModel(mymod);
Und die Daten sind vollkommen korrekt sortiert.

Ggf. hilft dir ja der Ansatz.

Verfasst: 11. Oktober 2009 18:59
von andy72
Das Problem beim Code ganz oben ist einfach, daß "date" ein reserviertes Wort bzw eine Funktion ist.

Besser ist es, das Feld umzubenennen und mit Konventionen zu arbeiten,
zB.:

Code: Alles auswählen

SELECT *FROM trade WHERE ....... ORDER BY trade_date DESC"
Mit Konventionen bzw eindeutigen Feldnamen die über die Tabelle im Code
später noch Zuordnungsfähig sind ist Code a) besser lesbar b) besser verwaltbar und c) weniger fehleranfällig ;)

LG
Andy