Tôi đang cố gắng thực hiện truy vấn SQL sau trong 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});
Tuy nhiên, Android không thay thế dấu hỏi bằng các giá trị chính xác. Tôi có thể làm như sau, tuy nhiên, điều này không bảo vệ khỏi việc đưa vào SQL:
String query = "SELECT * FROM table WHERE name IN (" + names + ")";
Cursor cursor = mDb.rawQuery(query, null);
Làm cách nào để giải quyết vấn đề này và có thể sử dụng mệnh đề IN?