Hello i\'ve spent almost 2 hours trying to figure out why the LIKE statement doesn\'t work and i only get this error: 03-03 11:31:01.770: ERROR/AndroidRuntime(11767):
I think you shouldn't use selArgs for LIKE such a way. You may try this:
Cursor cursor = m_db.query(MY_TABLE, new String[] {"rowid","Word"},"Word"+" LIKE '"+name+"%'", null, null, null, null);
EDIT:
OK, if you want be safe from SQL injections, don't use above solution, use this:
Cursor cursor = m_db.query(MY_TABLE, new String[] {"rowid","Word"},"Word LIKE '?'", new String[]{name+"%"}, null, null, null);
The solution is actually very easy. Just include the % inside your selectionArgs.
String []selectionArgs = {name + "%"});
Another -- perhaps cleaner -- solution is to use the || operator as described here: Sqlite binding within string literal
This is how I did:
String []columns = {"_id", "name"};
String []selectionArgs = {name+"%"};
db.query(true,"mydb",columns,"name LIKE ?",selectionArgs,null,null,null);