Qt / SQL-从QSqlQuery exec存储过程获取列类型和名称?

时间:2018-09-19 10:08:44

标签: c++ sql qt qt5 qsqlquery

我已经使用QSqlDatabase类连接到MSSQL服务器。然后,我可以使用QSQLQuery获得存储过程的结果,如:

QSqlQuery q;
q.prepare ("EXEC TestStoredProcedure");
if (q.exec ()) { 
    while (q.next ()) {
        qDebug() << q.value (0).toString ();
        ...
    }
}

因此,我具有返回字段的值,但是如何获取字段的名称和类型?存储过程可以动态形成返回字段的列表。

感谢您的帮助和解答!

1 个答案:

答案 0 :(得分:1)

您可以使用QSqlRecord。 例如:

Integer

QSqlRecord localRecord = q.record();
for (int var = 0; var < localRecord.count(); ++var) {
    QString fieldName = localRecord.fieldName(var);
    qDebug() << fieldName;
}

我认为您可以不使用列类型。