Saya mencoba melakukan kueri SQL berikut di 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});
Namun, Android tidak mengganti tanda tanya dengan nilai yang benar. Saya dapat melakukan hal berikut, namun, ini tidak melindungi dari injeksi SQL:
String query = "SELECT * FROM table WHERE name IN (" + names + ")";
Cursor cursor = mDb.rawQuery(query, null);
Bagaimana cara mengatasi masalah ini dan dapat menggunakan klausa IN?