Sto tentando di eseguire la seguente query SQL su Android:
String names = "'name1', 'name2"; // in the code this is dynamically generated
String query = "SELECT * FROM table WHERE name IN (?)";
Cursor cursor = mDb.rawQuery(query, new String[]{names});
Tuttavia, Android non sostituisce il punto interrogativo con i valori corretti. Potrei fare quanto segue, tuttavia, questo non protegge dall'iniezione SQL:
String query = "SELECT * FROM table WHERE name IN (" + names + ")";
Cursor cursor = mDb.rawQuery(query, null);
Come posso aggirare questo problema ed essere in grado di utilizzare la clausola IN?