关于Qt使用SQL模型类数据修改后不能写入数据库的问题

最近一直在做ARM下的Qt程序,数据库方面也是使用了QSqlRelationTableModel类,已表格形式显示数据库中的某一个表格。

一切仿佛都很好,一点儿问题都没有。

但是用了好几款板子才发现在表格中修改数据后不能存到数据库中去,完蛋了!!!!

上网海搜,各种问这个问题的帖子,找到了一篇帖子说Qt自带的数据库不能解决这个问题,需要编译安装SQLITE3。这个方法我没有验证

后来在各种查资料之后发现还要设置编辑策略。

 

mode->setEditStrategy(QSqlTableModel::OnManualSubmit);

 

常量 描述
QSqlTableModel::OnFieldChange 所有对模型的改变都会立即应用到数据库
QSqlTableMode::OnRowChange 对一条记录的改变会在用户选择另一条记录时被应用
QSqlTableMode::OnManualSubmit 所有的改变都会在模型中进行缓存,直到调用submitAll()或者revertAll()函数

你可能感兴趣的:(关于Qt使用SQL模型类数据修改后不能写入数据库的问题)