Cliff wrote:
> Has anyone seen this error before? I am trying to track it down and fix it,
> but I am still quite new to all this. Any advice welcome.

> Error returned:-
> $h->rows count is incomplete before all rows fetched.

Have you read "perldoc DBI"?

     `rows'
           $rv = $sth->rows;

         Returns the number of rows affected by the last row
         affecting command, or -1 if the number of rows is not
         known or not available.

         Generally, you can only rely on a row count after a
         non-`SELECT' `execute' (for some specific operations
         like `UPDATE' and `DELETE'), or after fetching all the
         rows of a `SELECT' statement.

         For `SELECT' statements, it is generally not possible to
         know how many rows will be returned except by fetching
         them all.  Some drivers will return the number of rows
         the application has fetched so far, but others may
         return -1 until all rows have been fetched.  So use of
         the `rows' method or `$DBI::rows' with `SELECT'
         statements is not recommended.

         One alternative method to get a row count for a `SELECT'
         is to execute a "SELECT COUNT(*) FROM ..." SQL statement
         with the same "..." as your query and then fetch the row
         count from that.

Or you can fetch and count the results yourself.

Reply via email to