1

比如说,以下存储过程返回多个结果集:

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

0 回答 0