Qt / SQL - Получить тип и имя столбца из хранимой процедуры QSqlQuery exec? - PullRequest
0 голосов
/ 19 сентября 2018

Я подключился к серверу MSSQL, используя класс QSqlDatabase.Затем я могу получить результаты хранимых процедур с помощью QSQLQuery, например:

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

Итак, у меня есть значения возвращаемых полей, но как я могу получить имена и типы полей? Хранимая процедураможет динамически формировать список возвращаемых полей.

Спасибо за любую помощь и ответы!

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете использовать QSqlRecord.Например:

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

или

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

Я думаю, что вы можете работать без типа столбца.

...