Ich habe eine SQLite Datenbank. Zur Abfrage benutzte ich ein
QSQLQueryModel, welches ich dann zur Anzeige an ein QTableView übergebe.
Wie kann ich nach dem erstmaligen Abfragen und nach dem Einfügen von
Datensätzen erreichen, dass im Tableview immer der letzte Datensatz
angezeigt wird. Der letzte Datensatz ist dabei immer auch der zuletzt
eingefügte, da die Sortierung (ORDER BY) ein TIMESTAMP Feld benutzt
und der zuletzt eingefügte Datensatz in diesem Feld immer den jüngsten
Zeitstempel besitzt.
Codeauszug erstmalige Abfrage:
Code: Alles auswählen
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(fn);
if (db.open())
{
queryModel = new QSqlQueryModel(tableView);
queryModel->setQuery("SELECT * FROM eventlog ORDER BY Zeit1", db);
if(queryModel->lastError().type() == QSqlError::NoError)
{
tableView->setModel(queryModel);
}
}
Nach dem Einfügen eines Datensatzes mittels INSERT INTO ... rufe ich jedesmals das
SELECT wieder auf, um Model und TableView zu aktualisieren.
Geht das eleganter( sprich performanter)?
Hat jemand eine Idee?
Viele Grüße und Danke!