SQLite Datenbank, Tabelle nach DATETIME sortieren...

Alles rund um die Programmierung mit Qt
Antworten
RobRoy1304
Beiträge: 47
Registriert: 9. Juli 2009 10:56

SQLite Datenbank, Tabelle nach DATETIME sortieren...

Beitrag 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.
toem
Beiträge: 124
Registriert: 17. März 2009 14:01

Beitrag 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.
andy72
Beiträge: 39
Registriert: 5. April 2007 07:51

Beitrag 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
Antworten