On 1 Jul 2013, at 3:27am, Igor Korot <ikoro...@gmail.com> wrote:

> 1. I'm trying to minimize the number of requests I'm doing to the DB. What
> I need is a way to count the number of rows that the query return to me
> prior to going thru the "sqlite3_step()".

Sorry, not possible.  SQLite does not process the entire SELECT when you do 
_prepare() and /return/ the results row by row.  Each _step() command tells 
SQLite to figure out whether there is another row and, if so, what it is. The 
first time you know whether the SELECT found any rows is when you look at the 
result of the first _step().

A solution is to do a

SELECT count(*) WHERE <...>

first, then use the result of that to figure out whether you need to do the 
proper SELECT or not.  Which is what you were probably doing before.

> 2. Considering the same code above, if I want to delete this row, I will
> need another statement variable. But will it screw up the original select
> statement?

As you suspected, it is possible that it will.  Try not to modify the result 
set while you have a statement prepared.  Either _reset() or _finalize() it 
first.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to