我正在尝试使用Qt调用MySQL服务器存储过程。该过程返回我要检索的多行数据。
我尝试的第一个代码片段效果很好:
QSqlQuery query("CALL GetOrderItems(323)", dataBase);
qDebug() << query.first();
它还返回所需的数据,并且query.first()
像预期的那样为真。
然后,我尝试使用参数绑定(如Qt文档建议的那样)插入参数。我尝试了以下片段。第一个使用索引占位符,第二个使用关键字占位符。
QSqlQuery query(dataBase);
qDebug() << query.prepare("CALL GetOrderItems(?)");
query.bindValue(0, 323);
qDebug() << query.exec();
qDebug() << query.first();
QSqlQuery query(dataBase);
qDebug() << query.prepare("CALL GetOrderItems(:myparam)");
query.bindValue(":myparam", 323);
qDebug() << query.exec();
qDebug() << query.first();
这两个查询都可以正常执行。但是query.first()
返回false,所以我不知道结果如何。
我可以通过某种方式从绑定查询中获得结果吗?为什么不起作用?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句