假设,以下存储过程返回多个结果集:
drop procedure if exists sample_stored_procedure;
delimiter //
create procedure sample_stored_procedure()
begin
select C1 from tab1;
select C1 from tab1 WHERE C1>2;
select C1 from tab1 WHERE C1>2 AND C1<4;
set @val = 0xf21;
if @val <> 0x000 then
SELECT "val non zero";
else
SELECT "val is zero";
end if;
end
//
delimiter ;
如何通过以下cpp代码访问它?
#include "mysql_connection.h"
#include <cppconn/driver.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
sql::Statement *stmt = db.con->createStatement();
sql::ResultSet *rs = stmt->executeQuery(" call sample_procedure() ");
while(rs->next()){
cout<< rs->getString(1)<<endl;
}