首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过QSqlTableModel保存变更数据库?

如何通过QSqlTableModel保存变更数据库?
EN

Stack Overflow用户
提问于 2013-12-11 15:25:47
回答 1查看 3.4K关注 0票数 4

我更改了表中单元格的值:

代码语言:javascript
复制
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("sqlite.db");
db.open();

QSqlTableModel *model = new QSqlTableModel(0, db);
model->setTable("Expenses");
model->select();
model->setData(model->index(0,2), 100);

现在如何保存数据库(sqlite.db)中的更改?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-11 15:35:10

正如Qt文档所说,保存更改取决于模型的编辑策略设置。根据编辑策略的不同,该值可以一次应用于数据库,也可以缓存在模型中。您应该参考您的模型的QSqlTableModel::setEditStrategy()函数,并设置与您的需要相对应的函数。例如,如果将编辑策略设置为QSqlTableModel::OnFieldChange,则所有更改都将在setData()函数调用后立即应用。

否则,只需调用QSqlTableModel::submitAll()将所有挂起的更改提交到数据库。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20523048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档