2016-11-01 5 views
1

Ist es möglich, die QDataWidgetMapper zum Einfügen in eine SQL-Datenbank zu verwenden?QDataWidgetMapper in SQL-Datenbank einfügen

Bisher verwende ich den Mapper zum Anzeigen und Aktualisieren, aber nicht zum Hinzufügen neuer Datensätze. Im Wesentlichen würde ich irgendwie eine QSqlRecord von den Daten benötigen, die mit der QDataWidgetMapper verbunden sind.

+0

Sie haben ein Beispiel [hier] (http://www.informit.com/articles/article.aspx?p=1405550&seqNum=3) (Methode 'EmployeeForm :: addEmployee()') – Tarod

+1

Vielen Dank, das funktioniert perfekt. – user1829358

+1

@Tarod, könnten Sie bitte dies als Antwort posten? – demonplus

Antwort

1

Dies ist nur ein Beispiel, aber die Idee ist die insertRow Funktion, die vom Modell zur Verfügung gestellt wird, um die Zeile einzufügen, die den Mapper enthält.

Wenn Sie die QDataWidgetMapper::AutoSubmit Politik verwenden, Ihr Mapper ist myMapper und Ihr Modell myModel genannt wird, können Sie so etwas wie dies versuchen könnten:

int row = myMapper->currentIndex(); 
myMapper->submit(); 
myModel->insertRow(row); 
myMapper->setCurrentIndex(row); 

Dieser Code aus einer Taste aufgerufen werden (dh hinzufügen Artikel oder etwas ähnliches). Sie können ein vollständiges Beispiel here sehen.