QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
来源:互联网 发布:知牛财经直播违法吗 编辑:程序博客网 时间:2024/05/16 07:54
该类为单张的数据库表提供了一个可编辑的数据模型,它支持外键,除此之外和QSqlTableModel没有什么不同
- model = new QSqlRelationalTableModel(this);
- model->setEditStrategy(QSqlTableModel::OnFieldChange); //属性变化时写入数据库
- model->setTable("student");
- model->setRelation(2,QSqlRelation("course","id","name"));//将student表的第三个属性设为course表的id属性的外键,并将其显示为course表的name属性的值
- model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
- model->setHeaderData(1, Qt::Horizontal, QObject::tr("Name"));
- model->setHeaderData(2, Qt::Horizontal, QObject::tr("Course"));
- model->select();
- tableView->setModel(model);
如果我们希望用户更改课程属性时,只能在课程表中已有的课程中进行选择,而不能随意填写课程,那么Qt中的QSqlRelationalDelegate委托类就能实现这个功能
- tableView->setItemDelegate(new QSqlRelationalDelegate(tableView));
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- QT:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(二)之SQL模型类-QSqlQueryModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(二)之SQL模型类-QSqlQueryModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型 .
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(二)之SQL模型类-QSqlQueryModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(二)之SQL模型类-QSqlQueryModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(二)之SQL模型类-QSqlQueryModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- [Qt教程] 第26篇 数据库(六)SQL关系表格模型QSqlRelationalTableModel
- 数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。要求算法复杂度为o(n)。
- MySQL源代码学习环境搭建
- 对于一个有序(升序排列)的数组a,查找所有比i(i不在a中)大的数,请写出关键代码
- 习近平强调:建设一支宏大高素质干部队伍
- 某32位系统下, C++程序,请计算sizeof 的值.
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- 字符串常量存放在静态存储区
- C/C++数组名与指针区别
- 编写strcat函数
- Claros intouch 2.1 + Apache James 2.3.2 +Xampp 1.8---Apache James 配置
- 程序员面试题精选100题(63)-数组中三个只出现一次的数字[算法]
- 单调队列之烽火传递问题
- 请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。
- VC++中进程间相互通信的十一种方法