I am just porting some JDBC code (intended for use with HSQLDB) to Android’s own SQLite implementation. I have a snippet where I delete records based on a particular field matching one of the values in a String[]
array in my Java code.
Here is the JDBC code for the DELETE
statement:
String[] ids = getIdsSomehow();
PreparedStatement stmtD = db.prepareStatement("delete from message where id in (unnest(?))");
Array delIdArray = stmtD.getConnection().createArrayOf("VARCHAR", ids);
stmtD.setArray(1, delIdArray);
stmtD.execute();
stmtD.close();
Another snippet does a SELECT
instead of DELETE
and has the values in a List<String>
instead of an array.
How would I accomplish this with the methods offered by SQLiteDatabase
, preferably in a way that does not open up any SQL injection vulnerabilities?