Qt调用MySql存储过程传参问题

qixingl 2015-05-20 05:01:09
Qt调用MySql的存储过程,存储过程有字符串类型的参数,定义如下
CREATE PROCEDURE upTest(in aArg int, in aStartTime varchar(12), out aSucc int)

然后用Qt调用

QSqlQuery sqlQuery(pConn->getDB());
sqlQuery.prepare("call upTest(?, ?, @aSucc);");
sqlQuery.bindValue(0, 1);
sqlQuery.bindValue(1, "2015-02-25");
sqlQuery.bindValue(2, 0, QSql::Out);
if(!sqlQuery.exec())
{
QSqlError lastError = sqlQuery.lastError();
qDebug() << lastError.text();
}

结果报错:No data supplied for parameters in prepared statement QMYSQL3: Unable to execute statement;
试了下,如果没有字符串类型的参数,调用是没有问题的。这个带字符串的参数怎么bind呀?
...全文
201 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,235

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧