Lichter hat geschrieben:Ich habe eine SQLite Datenbank, deren Spalte in der das Datum gespeichert wird ein TextFeld ist.
Und deshalb geht es nicht!
http://www.sqlite.org/datatype3.html
http://www.sqlite.org/lang_datefunc.html
Qt macht aber einige Workarounds, wenn es um Kompatibilität geht. Ich hab eine sqlite3-DB mit dem Datentyp "DATETIME" verwendet, Qt wird den im sqlite3-Backend in einen passenden Datentyp umwandeln.
WICHTIG: Inserts darfst du nicht mit dateEdit->text() füttern, sondern mit dateEdit->date(), sonst stimmt das Format nicht!
Clear() macht leider nichts.
Weil clear() den Eintrag, auf dem der Cursor liegt, löscht, nicht das ganze lineEdit. Liegt er auf dem Monat, wird nur das Monat gelöscht, alles andere bleibt unangetastet, usw.
Ich habe zu meinem Hauptfenster noch zusätzlich einen Dialog, in der die Daten vom User eingetragen werden.
Fehler: Speichere den Dialog nicht! Ein Dialog-Objekt erstellt man normalerweise an der Stelle, an der er benötigt wird. So ist er immer frisch und unbenutzt. Willst du, dass bestimmte Daten angezeigt werden sollen, kannst du das gleich über einen passenden Konstruktor regeln, oder über entsprechende Setter - oder (wie die ganzen QDialog-Derivate wie QFileDialog, QMessageBox, ...) via entsprechender static-Methoden.
Die erste Spalte in der Tabelle ist die ID, zwei, drei und elf sind fürs Datum vorgesehen.
Nur um sicher zu gehen: Auch hier wird wie bei Arrays bei 0 zu Zählen begonnen.