有没有一种快速的方法可以从查询中读取记录作为QMap<QString,QVariant>
或类似类型?
或者您可以告诉我如何访问当前记录中的列列表?
谢谢。
我不认为有这样的方法。但是您可以构造包含所有列的 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 提供对列等信息的访问。