Qt存储过程,该怎么处理

2025-03-09 09:44:29
推荐回答(1个)
回答1:

----解决方案--------------------
单个输出参数没问题,就是多个不知道怎么办
------解决方案--------------------
以下是访问oracle存储过程的示例,多个输入、输出都可以。
QSqlQuery query(db);
if (!query.prepare("call test_out2(:p1,:p2,:out1,:out2)"))
{
return false;
}

query.bindValue(":p1", "abcd", QSql::In);

query.bindValue(":p2", "edfg", QSql::In);

QString t1(128,'\0'),t2(128,'\0');

query.bindValue(":out1", t1, QSql::Out);
query.bindValue(":out2", t2, QSql::Out);

if (!query.exec())
{
return false;
}

QString str1 = query.boundValue(":out1").toInt();
QString str2 = query.boundValue(":out2").toInt();