QSqlTableModel提交所有但数据库未更新

QSqlTableModel submitall but database is not updated

我有一个 QTableView 和一个 QSqlTableModel。当我更新 QTableView 中的单元格时,我正在调用 "submitall" 函数来更新数据库。

"Submitall"已激活,但数据库中没有任何变化,我不知道为什么。

这是我的代码:

connect(ui->tableView->model(), SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)), this, SLOT(slot_commitChanges()));

QSqlTableModel *biensEssentielsModele = new QSqlTableModel();
biensEssentielsModele->setTable("biensEssentiels");
biensEssentielsModele->setEditStrategy(QSqlTableModel::OnManualSubmit);
biensEssentielsModele->select();
biensEssentielsModele->removeColumn(0);

slot_commitChanges() 函数:

if(biensEssentielsModele->submitAll())
    qDebug() << "OK"; // This is the input I get
else
    qDebug() << "NOK";

我也尝试过使用事务,但结果是一样的。
数据库是SQLITE。

感谢任何帮助

谢谢 :).

编辑:我忘了说我的数据库是一个 sqlite 文件。

更新:我刚刚意识到,当我添加一行(带有一个调用插槽 "slot_addBiensEssentiels" 的按钮)时,在数据库中更新了在 1 个单元格中所做的更改。完成后,其他单元格没有改变

这是我的插槽代码 "slot_addBiensEssentiels" :

biensEssentielsModele->insertRow(biensEssentielsModele->rowCount());

我找到问题所在了。
我不得不改变 :

biensEssentielsModele->removeColumn(0);

至:

ui->tableView->hideColumn(0);

由于缺少列和引用,"removeColumn()" 在尝试更新数据库时导致了一些问题。