как вставить массив int [] в SQLDatabase.Query () - PullRequest
0 голосов
/ 13 июня 2018

Я хочу создать следующий вопрос:

  1. "_isREGULAR" равно variable

  2. "_id" не может бытьравно любому элементу intArray

intArray обычный * массив 1018 *, variable регулярный int

            cursor = db.query("TABLE",
                new String[]{"_id", "NAME", "_isREGULAR"},
                "_isREGULAR = ? AND _id != ?",
                new String[]{ -- ? -- },
                null,
                null,
                null);

1 Ответ

0 голосов
/ 13 июня 2018

Вы можете использовать условие NOT IN (https://www.techonthenet.com/sqlite/in.php). В вашем случае это:

String idsAsString = Arrays.toString(intArray); // results in something like "[1, 2, 3]"
idsAsString = idsAsString.substring(1, idsAsString.length()-1); // removes brackets, leaving "1, 2, 3"

cursor = db.query("TABLE",
   new String[]{"_id", "NAME", "_isREGULAR"},
   "_isREGULAR = ? AND _id NOT IN (?)",
   new String[]{variable, idsAsString},
   null,
   null,
   null);
...