QSqlRelationalTableModel 更新问题
来源:互联网 发布:淘宝胖人服饰专卖店 编辑:程序博客网 时间:2024/06/06 17:23
QSqlRelationalTableModel 更新问题
在开发一个qt项目时,因为涉及操纵多张表结构,我使用QSqlRelationalTableModel作为我的模型(myModel),将其中一个设定为主表,为相应的列设定引用关系表,设定相应的委托。然后在视图中对其进行增删改查操作,发现对于一个已经存在的记录进行修改时,发现视图中的相应项数据能够更新,但是等到再一次更新整个视图时,被更新的项数据撤销。
打印myModel内容,发现数据确实更新了,进行提交submitAll()后再次更新视图数据就被撤销。这说明submitAll并没能将myModel中的更改提交到数据库中。查看myModel->lastError(),并没有任何错误。这说明更新语句并没有任何错误。重新查看帮助文档,发现使用QSqlRelationalTableModel需注意如下事项:
- The table must have a primary key declared.
- The table’s primary key may not contain a relation to another table.
重新查看我的表结构,如下:
table A 表格语法:
我的数据库中的表有主键,满足第一条,但是这个主键包含3个字段,每个字段都是外键,引用其他表的数据,不满足第二条。重新修改表结构,添加一个id字段作为主键,其余3个字段作为普通字段。
修改后的table A:
调整相应代码,运行程序,成功实现对已经存在记录的修改,问题解决。
0 0
- QSqlRelationalTableModel 更新问题
- QSqlRelationalTableModel的setFilter()问题
- QSqlRelationalTableModel的setFilter()问题
- QSqlRelationalTableModel使用方法
- Qt 数据库之 QSqlRelationalTableModel
- Qt 之 QSqlRelationalTableModel Class
- 十七、Qt数据库 之 QSqlRelationalTableModel
- Qt数据库(七)QSqlRelationalTableModel
- QT——QSqlRelationalTableModel 、 QSqlRelationalDelegate
- Qt数据库:(七)QSqlRelationalTableModel
- 更新问题
- QtCreator 使用SQL模型类(QSqlQueryModel,QSqlTableModel,QSqlRelationalTableModel)
- hibernate更新数据问题
- windowsXP 更新问题
- 关于datasource更新问题。
- ubuntu更新问题
- 更新错误问题
- hibernate动态更新问题
- win7不能访问samba服务器的解决办法
- Renting Bikes
- Linux常用热键
- Motion sensing game (Ping Pong Game)
- 问题解决——SpringMVC
- QSqlRelationalTableModel 更新问题
- vi/vim编辑器必知必会
- HIVE 命令行
- JS ajax 后台交互
- Struts框架之处理流程和类型转换器
- HIVE 命令行
- 学习笔记:axure 高级教程 6 制作组件库
- UNIX网络编程之epoll 的accept , read, write(重要)
- Windows 系统错代码