QSqlRelationalModel: 在我调用 setRelation(...) 之后,model 中的列似乎被 foreign 中的列替换 table
QSqlRelationalModel: After I call setRelation(...), the column in the model seem to be replaced by the column in the foreign table
setRelation(...) 后,如何获取 列的原始值 似乎已被外部 table 中的列替换?
这是我的代码:
Table "record" 包含“recordId integer, bookId integer, bookName varchar, author varchar,
类型整数、用户 ID 整数、用户名 varchar、借用日期日期、返回日期日期、记录状态整数。
Table "genres" 包含 "id integer primary key, genre 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);
returns行table"genres"中的内容是QString而不是table中的原始值类型"record" 是整数
这里我想把第4节bookRecord的原始值赋给QVariant变量值。我该怎么做?
谁能给我一些建议?
最终还是用了一个不太优雅的方法解决了这个问题。
我新建一个QSqlquery
对象,直接查询原来的table。
虽然不是很聪明,但总之,问题解决了
setRelation(...) 后,如何获取 列的原始值 似乎已被外部 table 中的列替换?
这是我的代码:
Table "record" 包含“recordId integer, bookId integer, bookName varchar, author varchar, 类型整数、用户 ID 整数、用户名 varchar、借用日期日期、返回日期日期、记录状态整数。
Table "genres" 包含 "id integer primary key, genre 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);
returns行table"genres"中的内容是QString而不是table中的原始值类型"record" 是整数
这里我想把第4节bookRecord的原始值赋给QVariant变量值。我该怎么做?
谁能给我一些建议?
最终还是用了一个不太优雅的方法解决了这个问题。
我新建一个QSqlquery
对象,直接查询原来的table。
虽然不是很聪明,但总之,问题解决了