List:MySQL++« Previous MessageNext Message »
From:Warren Young Date:November 13 2006 11:26pm
Subject:Re: Exception of type std::length_error
View as plain text  
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.
Thread
Exception of type std::length_errorMathieu Pagé13 Nov
  • Re: Exception of type std::length_errorWarren Young14 Nov
    • Re: Exception of type std::length_errorMathieu Pagé14 Nov
Re: Exception of type std::length_errorMathieu Pagé19 Nov
  • Re: Exception of type std::length_errorWarren Young20 Nov
    • Running Totals with MySQLKerry Frater21 Nov
      • RE: Running Totals with MySQLKerry Frater21 Nov
      • Re: Running Totals with MySQLWarren Young22 Nov
        • RE: Running Totals with MySQLKerry Frater28 Nov