mysql C++调用存储过程的问题
我的存储过程,是有返回值,和结果集的。但是调用的时候,不能返回,返回值。结果集能得到。
或许,是我调用有问题。请教,MYSQL怎么同时获取结果集和返回值。
存储过程:
DELIMITER $$
DROP PROCEDURE IF EXISTS `test` $$
CREATE DEFINER=`db`@`%` PROCEDURE `test`(out ret int)
begin
select * from USERBASE_TBL;
set ret=2;
end $$
DELIMITER ;
C++代码:
.............
if(mysql_more_results(&m_Mysql))
{
{
printf("multe rs\n");/////////这里成功
}
MYSQL_RES *Query = mysql_store_result(&m_Mysql);
if (Query != NULL)
{
printf("rs is ok\n");/////////这里成功
}
if(mysql_next_result(&m_Mysql)==0)
{
MYSQL_RES *pRetQuery = mysql_store_result(&m_Mysql);
#if DEBUG
if(NULL == pRetQuery)//////////这里就是返回NULL了
{
printf("proc exec next rs error:%s\n",GetError().c_str());
}
#endif
}
执行结果:
multe rs
rs is ok
proc exec next rs error: