hier im Forum hatte schon jemand ein ähnliches Problem und den Gültigkeitsbereich einer Variablen übersehen.
Ich wollte das umgehen und habe (erstmal) alles in den Konstruktor gepackt.
Das Verbinden mit der Datenbank funktioniert, ich kann auch hineinschreiben.
Aber das tableview (mit Designer erzeugt) bleibt leer.
Viellcht kann mir jemand sagen, was ich übersehen habe?
Code: Alles auswählen
#include "datenbank.h"
#include "ui_datenbank.h"
Datenbank::Datenbank(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Datenbank)
{
ui->setupUi(this);
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("xyz.db");
db.open();
QSqlTableModel model;
model.setTable("test");
model.select();
model.setEditStrategy(QSqlTableModel::OnFieldChange);
ui->tableView->setModel(&model);
ui->tableView->setWindowTitle("test");
ui->tableView->show();
int row = 0; // in die Datenbank schreiben funktioniert
model.insertRows(row,1);
model.setData(model.index(row,0),2);
model.setData(model.index(row,1),26);
model.setData(model.index(row,2),"test");
model.submitAll();
}
...