Reputation: 538
I've connected to MSSQL server using QSqlDatabase class. Then I can get stored procedures' results with QSQLQuery like:
QSqlQuery q;
q.prepare ("EXEC TestStoredProcedure");
if (q.exec ()) {
while (q.next ()) {
qDebug() << q.value (0).toString ();
...
}
}
So, I have values of the returned fields, but how I can get fields' names and types? Stored procedure can form the list of returned fields dynamically.
Thanks for any help and answers!
Upvotes: 2
Views: 3445
Reputation: 125
You can use QSqlRecord. For example:
QSqlRecord localRecord = q.record();
for (int var = 0; var < localRecord.count(); ++var) {
QString fieldName = localRecord.fieldName(var);
qDebug() << fieldName;
}
or
QSqlRecord localRecord = q.driver()->record("table");
for (int var = 0; var < localRecord.count(); ++var) {
QString fieldName = localRecord.fieldName(var);
qDebug() << fieldName;
}
I think you can work without column type.
Upvotes: 4