首页 > 解决方案 > QSqlQuery:在具有多个结果的 MySQL 存储过程中捕获错误

问题描述

我有一个带有 2 个选择和 1 个插入的 MySQL 存储过程:

SELECT fileld1 FROM table1 WHERE id = arg_1;
INSERT INTO table2 (field2) VALUES (arg_2);
SELECT LAST_INSERT_ID();

它的执行就像

 QSqlQuery *query = new QSqlQuery(db);
 bool ok = query->exec("CALL my_procedure(1, 17)");

query如果 INSERT 没有因任何原因失败,则包含 2 个结果。如果 INSERT 失败,它只返回 1 个没有错误的结果。

我怎样才能发现错误?它应该上升“无法添加或更新子行:外键约束失败”

标签: mysqlstored-proceduresqsqlquery

解决方案


推荐阅读