LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
QT笔记:数据库总结(四)之SQL模型类-QSqlRelatio
2017-02-13

该类为单张的数据库表提供了一个可编辑的数据模型,它支持外键,除此之外和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));




推荐文章
评论(0)
联系我们|招贤纳士|移动客户端|风格模板|官方博客|侵权投诉 Reporting Infringements|未成年人有害信息举报 0571-89852053|涉企举报专区
网易公司版权所有 ©1997-2024  浙公网安备 33010802010186号 浙ICP备16011220号-11 增值电信业务经营许可证:浙B2-20160599
网络文化经营许可证: 浙网文[2022]1208-054号 自营经营者信息 工业和信息化部备案管理系统网站 12318全国文化市场举报网站
网信算备330108093980202220015号 网信算备330108093980204230011号
分享到
转载我的主页