I have done something similar and it worked for me, but there is an issue with indexes you should take into account, as discussed here: http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-users/2011-July/031470.html . Out of curiosity (since this query and it's field names seem very similar to one I am using), what are you using this for?
On Sun, Oct 23, 2011 at 5:53 AM, Navaneeth.K.N <navaneet...@gmail.com>wrote: > Hello, > > I am trying to use parameters in a LIKE query. I have the following > code which uses Sqlite C/C++ API. > > const char *sql = "SELECT word FROM words WHERE word LIKE ?1 || '%' > ORDER BY freq DESC LIMIT 10;"; > > int rc = sqlite3_prepare_v2 (db, sql, -1, &stmt, NULL); > if ( rc != SQLITE_OK ) > return false; > > sqlite3_bind_text ( stmt, 1, data , -1, NULL ); > > Unfortunaltly, this won't work. Sqlite is executing the statement > successfully, but I am not getting the expected result. When I execute > the same statement after removing parameters it works perfectly. > Something like, > > const char *sql = "SELECT word FROM words WHERE word LIKE 'word'%' > ORDER BY freq DESC LIMIT 10;"; > > It looks like concatentation with parameters is not working for some > reason. To debug the issue, I hooked up sqlite3_trace and > sqlite3_profile and printed the SQL being executed. Unfortunatly, > these routines won't give the SQL with values bound to it. > > I am running out of ideas and any help would be great to address the > problem. > > Thanks > -- > -n > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rich Cook _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users