I'm not quite sure if what i'm doing is correct.

i have a table with id's and names..

table foo{
id             INTEGER PRIMARY KEY,
name       varchar
}


then, i have to get all the names of a group (variable length) of
elements in foo(i have the id's in ONE string) so i did this.

Query = sqlite3_mprintf("select name from foo where id in (?)");
rc = sqlite3_prepare_v2(DB,Query ,-1,&Statement,NULL);

fine so far...
for (i=1;i<Ngroup;i++){
 [...]
  sqlite3_bind_text(Statement,1,str,-1,NULL);  //where str is
something like "33,2,66,3,88"; where all the id's are valid..
 [...]
 rc = sqlite3_step(Statement); //here i get an rc = 101 ==
SQLITE_DONE when i was expecting SQLITE_ROW
 [...]
}

the thing is that when i do the query manualy.. it works perfecttly (
select name from foo where id in (33,2,66,3,88)  )
but in the code... it doesn't.

maybe the sqlite3_bind_text doesn't do what i suposed...

i'm working with sqlite 3.4.0 amalgamation, BC++ 5.0... it works
perfectly with everything else (i removed all the const's in sqlite.h
that made the compiler freak).

BTW, the doc didn't say if the string returned by const unsigned char
*sqlite3_column_text should be freed.. so i don't. it's that ok?

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

Reply via email to