postgresql - QSqlQuery Postgres 多选

标签 postgresql qt

我有一个包含两部分的查询。第一部分调用创建临时表的函数,第二部分从该表中选择数据。

SELECT create_data_slice(15962, NULL, ARRAY[[15726]]);

SELECT
    AK."15962_15726" as AK_NAME
FROM
    t15962 AK
GROUP BY
    AK."15962_15726;"

如果我在 PgAdmin 中执行此查询,它会将结果与数据一起转为正确的结果。但是如果我在 Qt 中执行它:

QSqlDatabase db = store->get_db();
QSqlQuery query(db);
query.exec(sql);

只执行第一部分(创建临时表),不执行第二部分,不返回数据。

最佳答案

您可以使用这样的交易:

QSqlDatabase::database().transaction();
QSqlQuery query;
query.exec("SELECT create_data_slice(15962, NULL, ARRAY[[15726]]);");
if (query.next()) 
{
    int employeeId = query.value(0).toInt();
    query.exec("SELECT AK."15962_15726" as AK_NAME FROM t15962 AK GROUP BY AK."15962_15726;");
    while(query.next())
    {
         qDebug() << query.value().toString(); ///or what you want to do with data
    }
}
QSqlDatabase::database().commit();

关于postgresql - QSqlQuery Postgres 多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53686583/

相关文章:

json - 将列中的结果设置为列名称

php - postgresql 帮助 php 循环

c++ - 如何使用 HTML 格式和可点击的单元格制作快速的 QTableView?

c++ - Qt 部署的可执行文件打开空白应用程序

c++ - 通过 http 加载文件

c - 在 Qt-Creator SDK 上以 root 身份运行代码

postgresql - 无法在 plpgsql 函数中将变量与 EXECUTE 命令一起使用

postgresql - 包含所有先前位置总和的查询表,不包括当前位置

c++ - 在 Qt 中使用 for 循环创建和布置小部件

python - Django如何合并查询结果