I use SPs almost exclusively with MySQL++. The first result set is
always the one from the select in the SP. Then pull off the extra
result set, otherwise the next call will fail.
To get OUT params I do this: query << "call mysp(@x); select @x;"
where the SP has one OUT param.
From: Warren Young [mailto:mysqlpp@stripped]
Sent: Tuesday, January 27, 2009 8:57 PM
To: MySQL++ Mailing List
Subject: Re: Calling stored procedure and returning result in SSQLS
Edward Diener wrote:
> How can I get my StoreQueryResult to store the row result of my query
> into a vector of my SSQLS structure ? How do I know which result is
> row result of my query as opposed to the status result which gives
> a return status from my stored procedure ?
You'd have to modify Query::storein() to teach it about multi-results.
It might be better to fork it, and write storein_multi() instead.
I have never used stored procedures, because I've never run into a
situation where the optimization or security they offer mattered enough
to overcome the associated problems. So, I have essentially no
expertise to draw on, nor interest in seeing the weakness fixed. I'm
willing to discuss patches to do it, but mostly you'd be on your own to
> BTW the example in section 3.12 of the user manual calls a stored
> procedure when the MySQL version is 5.0 or higher but does not set the
> mysqlpp::MultiResultsOption(true) option. Is this an error in the
> example or is there something in the example which would cause it to
> work anyway ?
The latter. It does set MultiStatementsOption(), which is sufficient.
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus