0

在 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 变量值。我该怎么做?

谁能给我一些建议?

4

1 回答 1

0

最终,我使用了一种不太优雅的方法来解决问题。

我创建一个新QSqlquery对象并直接查询原始表。

这不是很聪明,但无论如何,问题已经解决了。

于 2020-06-19T07:03:38.570 回答