Qt4 QtSQL如何将记录读取为QMap

Qt4 QtSQL如何将记录读取为QMap,qt4,qtsql,Qt4,Qtsql,有没有一种快速的方法可以从查询中读取QMap或类似类型的记录 或者您可以告诉我如何访问当前记录中的列列表 谢谢。我认为没有这种方法。但您可以构造包含所有列的QMap对象,如下所示: QString sql = "SELECT * FROM xxx WHERE id = x"; query.exec(sql); QSqlRecord record = query.record(); query.next(); QMap<QString,QVariant> params; for (i

有没有一种快速的方法可以从查询中读取
QMap
或类似类型的记录

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


谢谢。

我认为没有这种方法。但您可以构造包含所有列的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));
}
QString sql=“从xxx中选择*id=x”;
exec(sql);
QSqlRecord record=query.record();
query.next();
QMap参数;
对于(int i=0;i