ฉันพยายามทำแบบสอบถาม 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);
ฉันจะแก้ไขปัญหานี้และสามารถใช้คำสั่ง IN ได้อย่างไร