gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 04:32:55 28 4
gpt4 key购买 nike

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

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

所以,我有返回字段的值,但是我怎样才能得到字段的名称和类型?存储过程可以动态地形成返回字段的列表。

感谢您的帮助和回答!

最佳答案

您可以使用 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;
}

我认为您可以在没有列类型的情况下工作。

关于c++ - Qt/SQL - 从 QSqlQuery exec 存储过程中获取列类型和名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52403374/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com