С этим кодом:
values.put («оценка», 60);
mDB.update («Результаты», значения, «studentid =? AND testid =?»,
новая строка [] {"2,1"}); // этот оператор не работает`
Значение "2,1"
- это всего лишь один объект String, поэтому перед обновлением система управления базами данных проверит, есть ли запись, где studentid="2,1"
, и если нет записи, ни одна строка не будет затронута.
Если мы хотим проверить и studentid
, и testid
, в массиве String [] должно быть два значения, например:
values.put("score", 60);
mDB.update("Results", values, "studentid=? AND testid=?",
new String[] { "2","1" });
Где studentid
будет проверено со значением 2
и testid
со значением 1
. Это просто, чтобы помочь новым читателям понять разницу, почему ваш фрагмент не сработал и почему @jvenema one сработал.