В пункте и заполнятелях

Я пытаюсь сделать следующий запрос SQL в 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});

Однако Android не заменяет вопросительный знак С правильными значениями. Я мог бы сделать следующее, однако это не защищает от инъекции SQL:

    String query = "SELECT * FROM table WHERE name IN (" + names + ")";
    Cursor cursor = mDb.rawQuery(query, null);

Как я могу обойти эту проблему и иметь возможность использовать предложение в разделе?

99
задан CL. 26 October 2015 в 10:45
поделиться