ComboBox und TableView mit SQL
Verfasst: 9. Dezember 2010 09:56
Hallo Leute,
das hier ist mein erster Post, hoffe ihr könnt mir ein wenig helfen, denn ich werde eure Hilfe noch etwas öfters brauchen.
Ich habe nun folgendes zwei Probleme:
1.) Ich habe eine ComboBox mit dem QTDesigner erstellt und möchte gerne aus meiner SQLITE-Datenbank dort verschiedene Einträge anzeigen lassen, dass wäre in meinem Fall id aus der Datenbank images.
Ich dachte mir eigentlich es müsste in etwa so funktionieren:
Nur wie bekomme ich jetzt diese ganzen IDs, die eben PrimaryKey besitzen, in der Combobox aufgelistet werden.
2.) Ich habe eine SqlTabele erstellt, die mir eben meine ganzen Einträge aus der SQLITE-Datenbank ausliest und in einer Tabelle eben dann schön darstellt, soweit kein Problem.
Nur ich habe folgenden Code, in eine Funktion erstellt:
Jedoch wird die Tabelle dann gar nicht angezeigt.
Wenn ich es in keine Funktion, also nur:
schreibe.
Wird die Tabelle immer in einem eigenen Fenster angezeigt, ich möchte sie jedoch in meinem MainWindow angezeigt bekommen.
Hoffe ihr könnt mir schnell helfen.
Mit freundlichen Grüßen,
Rabi
das hier ist mein erster Post, hoffe ihr könnt mir ein wenig helfen, denn ich werde eure Hilfe noch etwas öfters brauchen.
Ich habe nun folgendes zwei Probleme:
1.) Ich habe eine ComboBox mit dem QTDesigner erstellt und möchte gerne aus meiner SQLITE-Datenbank dort verschiedene Einträge anzeigen lassen, dass wäre in meinem Fall id aus der Datenbank images.
Ich dachte mir eigentlich es müsste in etwa so funktionieren:
Code: Alles auswählen
QSqlQuery query;
query.prepare("SELECT id FROM images");2.) Ich habe eine SqlTabele erstellt, die mir eben meine ganzen Einträge aus der SQLITE-Datenbank ausliest und in einer Tabelle eben dann schön darstellt, soweit kein Problem.
Nur ich habe folgenden Code, in eine Funktion erstellt:
Code: Alles auswählen
void Newstabelle::exec()
{
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT id, titel, text FROM news");
model->setHeaderData(0, Qt::Horizontal, tr("ID"));
model->setHeaderData(1, Qt::Horizontal, tr("Titel"));
model->setHeaderData(2, Qt::Horizontal, tr("Inhalt"));
QTableView *view = new QTableView;
view->setModel(model);
view->show();
}Wenn ich es in keine Funktion, also nur:
Code: Alles auswählen
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT id, titel, text FROM news");
model->setHeaderData(0, Qt::Horizontal, tr("ID"));
model->setHeaderData(1, Qt::Horizontal, tr("Titel"));
model->setHeaderData(2, Qt::Horizontal, tr("Inhalt"));
QTableView *view = new QTableView;
view->setModel(model);
view->show();Wird die Tabelle immer in einem eigenen Fenster angezeigt, ich möchte sie jedoch in meinem MainWindow angezeigt bekommen.
Hoffe ihr könnt mir schnell helfen.
Mit freundlichen Grüßen,
Rabi