Próbuję wykonać następujące zapytanie SQL w systemie 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});
Jednak Android nie zastępuje znaku zapytania prawidłowymi wartościami. Mógłbym zrobić co następuje, jednak to nie chroni przed wstrzyknięciem SQL:
String query = "SELECT * FROM table WHERE name IN (" + names + ")";
Cursor cursor = mDb.rawQuery(query, null);
Jak mogę obejść ten problem i móc skorzystać z klauzuli IN?