QSqlQuery 選択クエリによって返されたレコードを変更することは可能ですか? 私はこのようなものを持っています:
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 を返します。
私が望むものを達成することは可能ですか?
ありがとう。
更新:
私が見るように、それは不可能です。record() ゲッターを見てみましょう:
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->record() を使用する必要があるかもしれませんが、これは非公開です。勝手に公開してもいいですか?
何かアドバイス?