QSqlTableModel, QTableView: Zeile einfügen

Alles rund um die Programmierung mit Qt
Antworten
Grieko
Beiträge: 17
Registriert: 12. Oktober 2016 08:50

QSqlTableModel, QTableView: Zeile einfügen

Beitrag von Grieko »

Hallo,
ich bastle gerade an meinem ersten SQL-Programm mit Qt und dem SQL-Server (MS SQL) rum.
Grundlegende Sachen wie Datenbank öffnen und eine Tabelle mit QModel und QTableView habe ich am Laufen, ebenso das verknüpfen zweier Tabellen mittel Fremdschlüssel.
Nun möchte ich in einer einfachen Tabelle , die ich in einem TableView darstelle, einen neuen Eintrag anhängen. Und hier habe ich Probleme mit dem QTableView. Wenn ich diese nachfolgende Funktion aufrufe, dann wird im View eine Zeile am Ende eingefügt. Diese Zeile kann ich auch editieren. Soweit alles richtig. Aber sobald ich die Zeile verlasse, wird der Inhalt aller Spalten gelöscht und ganz links wird an der Zeile anstelle des Sterns (bei einem neuen Eintrag) ein Ausrufezeichen angezeigt. Ich vermute dies soll einen Fehler signalisieren. ABER: Mit dem SQL-Server ManagementStudio kann ich sehen, dass die Daten zu diesem Zeitpunkt korrekt eingefügt wurden! Sie werden aber nicht angezeigt. Nun habe ich in der Tabelle als erstes eine Spalte namens 'ID' mit Identitätsspezifikation versehen ist, d.h. sie wird bei jedem neuen Eintrag automatisch generiert. Kann das Problem damit zusammenhängen ?

Mein Funktionscode:
void MainWindow::on_btnAddArtikelstamm_clicked()
{
modelArtikel->insertRow(modelArtikel->rowCount(QModelIndex()));
}

Schon mal Danke für jeden Hinweis..
Antworten