【问题标题】:QSqlRelationalModel: After I call setRelation(...), the column in the model seem to be replaced by the column in the foreign tableQSqlRelationalModel:我调用setRelation(...)后,模型中的列似乎被外部表中的列替换了
【发布时间】:2020-10-07 13:50:44
【问题描述】:

在 setRelation(...) 之后,我怎样才能得到列的原始值,它似乎已经被外表中的列替换了?

这是我的代码:

表“record”包含“recordId integer, bookId integer, bookName varchar, author 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 变量值。我该怎么做?

谁能给我一些建议?

【问题讨论】:

    标签: qt qsqlrelationaltablemodel


    【解决方案1】:

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

    我新建一个QSqlquery 对象,直接查询原表。

    不是很聪明,但不管怎样,问题解决了。

    【讨论】:

      猜你喜欢
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 2023-04-07
      • 2018-02-11
      • 1970-01-01
      相关资源
      最近更新 更多