logo       

Re: Exception of type std::length_error: msg#00024

db.mysql.c++

Subject: Re: Exception of type std::length_error

Mathieu Pagé wrote:

<code>
mysqlpp::Row row;
mysqlpp::Row::size_type i;
for (i = 0; row = res.at(i); ++i)
cout <<row.at(0) <<endl;
</code>

however I get an length_error exception on "row = res.at(i)".

I think you're expecting Row::at() to return false (or, rather, an object that can be converted to false) when you walk off the end of the result set. MySQL++ doesn't do that sort of thing, by design. It signals errors with exceptions, just as you saw.

That is the fall-back behavior when you turn off exceptions, however. Read the user manual for details.

You might also look at examples/simple3.cpp. It operates in a way very similar to what you're doing, without needing special treatment. It does that by using a different type of query than you are using.

--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe:
http://lists.mysql.com/plusplus?unsub=gcdmc-plusplus@xxxxxxxxxxx




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise