のレコードを更新する:私はレコードを更新しようとしていると私は、この持ってQSqlTableModel
tableModel->select();
QModelIndex index = ui.tableView->currentIndex();
QString sqlQuery = QString("UPDATE %1 SET firstname=:firstname, lastname=:lastname, country=:country, city=:city WHERE id=:id)").arg(tableName);
query.prepare(sqlQuery);
QSqlRecord recordz = tableModel->record(index.row());
query.bindValue(":firstname", ui.fEdit->text());
query.bindValue(":lastname", ui.lnEdit->text());
query.bindValue(":country", ui.cEdit->text());
query.bindValue(":city", ui.cityEdit->text());
query.bindValue(":id", recordz.value("id").toInt());
query.exec();
tableModel->submitAll();
アプリケーションがエラーなしでコンパイルしますが、編集内容を保存しません。
直接 'QModelIndex'オブジェクトの代わりに[' QModelIndex :: data() '](http://doc.qt.nokia.com/4.7/qmodelindex.html#data)を使用してください。 – manatwork