是否可以通过QSqlQuery select查询修改记录返回?

时间:2015-03-12 11:30:15

标签: c++ qt qsqlquery qsqldatabase

是否可以修改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() - 但它是私有的。如果我为了我的目的公开它,那没关系吗?

有什么建议吗?

0 个答案:

没有答案