Thanks, that makes sense. 
Tom

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Thursday, December 13, 2007 7:50 AM
To: sqlite-users@sqlite.org
Subject: Re: [sqlite] How to get number of records in record set

"Tom Parke" <[EMAIL PROTECTED]> wrote:
> If I prepare() a sql stmt  SELECT * FROM tbl WHERE col = n:
> 
> How do I find out how many records were selected before calling
step()?
> 

The technically correct response to your question is that the
answer is always zero.  Nothing gets selected - the database
file remains unread - until you call sqlite3_step().  But
that probably is not what you were asking, huh.  :-)

If you want to find out how many records would be selected
by such a query, you can do:

    SELECT count(*) FROM tbl WHERE col=n;

Or you can do:

    cnt = 1;
    while( sqlite3_step(&stmt)==SQLITE_ROW ) cnt++;

There is no way for the database engine to determine
how many records are going to match your search
condition without actually doing the search and
counting the hits.

--
D. Richard Hipp <[EMAIL PROTECTED]>


------------------------------------------------------------------------
-----
To unsubscribe, send email to [EMAIL PROTECTED]
------------------------------------------------------------------------
-----


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to