如何使用MySQL Cpp连接器从存储过程中检索多个结果集?

时间:2015-12-14 12:11:14

标签: c++ stored-procedures multiple-resultsets

假设,以下存储过程返回多个结果集:

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;
}

0 个答案:

没有答案