是否可以修改QSqlQuery select查询返回的记录? 我有这样的事情:
QSqlQuery query(database);
query.prepare('Select * from `table`);
query.exec();
query.seek(15);
query.record().setValue("columName", "newValue");
我正在尝试使用setValue方法更改查询结果中的数据。但它不起作用。 query.record()。field(“columnName”)。isReadOnly()返回false;
有可能实现我想要的目标吗?
感谢。
UPD:
正如我所见,这是不可能的。我们来看看record()getter:
QSqlRecord QSqlQuery::record() const
{
QSqlRecord rec = d->sqlResult->record();
if (isValid()) {
for (int i = 0; i < rec.count(); ++i)
rec.setValue(i, value(i));
}
return rec;
}
我们获得了真实记录的副本。 也许我们应该使用QSqlResult-&gt; record() - 但它是私有的。如果我为了我的目的公开它,那没关系吗?
有什么建议吗?