2

有没有一种快速的方法可以从查询中读取记录作为QMap<QString,QVariant>或类似类型?

或者您可以告诉我如何访问当前记录中的列列表?

谢谢。

4

1 回答 1

1

我不认为有这样的方法。但是您可以构造包含所有列的 QMap 对象,如下所示:

QString sql = "SELECT * FROM xxx WHERE id = x";
query.exec(sql);
QSqlRecord record = query.record();
query.next();

QMap<QString,QVariant> params;
for (int i=0; i<record.count(); ++i) {
    params.insert(record.fieldName(i++), query.value(i));
}

如您所见,QSqlRecord 提供对列等信息的访问。

于 2011-04-09T14:33:51.587 回答