qt - QSqlRelationalModel:我调用setRelation(...)后,模型中的列似乎被外部表中的列替换了
问题描述
在 setRelation(...) 之后,如何获取似乎已被外表中的列替换的列的原始值?
这是我的代码:
表“记录”包含“recordId 整数、bookId 整数、bookName varchar、作者 varchar、 流派整数、userId 整数、userName varchar、borrowDate 日期、returnDate 日期、recordState 整数”。
表“流派”包含“id 整数主键,流派 varchar”。
QSqlRelationalTableModel *model = new QSqlRelationalTableModel;
model->setTable("record");
model->setRelation(4, QSqlRelation("genres", "id", "genre"));
QSqlRecord bookRecord = model->record(0);
QVariant value = bookRecord->value(4);
该行QVariant value = bookRecord->value(4);
返回表“genres”中的内容,它是 QString,而不是表“record”中的原始值类型,它是整数
这里我想将第 4 节 bookRecord 的原始值赋给 QVariant 变量值。我该怎么做?
谁能给我一些建议?
解决方案
最终,我使用了一种不太优雅的方法来解决问题。
我创建一个新QSqlquery
对象并直接查询原始表。
这不是很聪明,但无论如何,问题已经解决了。
推荐阅读
- javascript - jQuery scrollTop 偏移量不滚动到移动设备上的目标元素
- javascript - 获取 TypeError:firebase_app__WEBPACK_IMPORTED_MODULE_0__.initializeApp 不是使用 Vue3、Firebase 8.5 的函数
- gatling - 在加特林中是否可以执行条件场景
- javascript - 如何调用 api 并保持在速率限制内(反应 javascript)
- javascript - Cognito 中 adminConfirmSignUp 命令的目的是什么
- discord.py - Discord.py 意图错误,我该如何解决?
- animation - AppleScript 编辑器主题演讲(构建、颜色和动画)
- python - 为什么即使我分配了 False,absl 标志也会返回 True?
- talend - 如何加快从 Talend 写入 Impala 的速度
- php - Laravel 8 - 详细网址未正确映射