2014-01-25 2 views
0

По какой-то причине метод обновления не изменит мои значения базы данных SQLite! Зачем?В чем проблема с методом SQLite Update?

for (int go = 0; go < assignmentList.size(); go++) { 

     dateBefore = assignmentList.get(go).assignmentDate; 
     assDaysUntilDue = assignmentList.get(go).assignmentDaysUntilDue; 
     daysElapsed = dateNow - dateBefore; 
     newDays = assDaysUntilDue - daysElapsed; 


     ContentValues values = new ContentValues(); 
     values.put(DBRecordsLayer.ASSIGNMENT_DAYS_UNTIL_DUE, 1); 

     dataBase.update(DBRecordsLayer.ASSIGNMENT_TABLE, values, DBRecordsLayer.ASSIGNMENT_NUM + " = " + go, null); 

// здесь ^^ только из значения для изменения 1 в случае переменных давали вопросы, // НО даже это не дает мне значения 1 до столбца // второго попытаться изменить значения ...

 dataBase.execSQL("UPDATE " + DBRecordsLayer.ASSIGNMENT_TABLE + " SET " + DBRecordsLayer.ASSIGNMENT_ENTRY_DATE + " = " + 
       dateNow + " WHERE " + DBRecordsLayer.ASSIGNMENT_NUM + " = " + go + ";"); 
      dataBase.execSQL("UPDATE " + DBRecordsLayer.ASSIGNMENT_TABLE + " SET " + DBRecordsLayer.ASSIGNMENT_DAYS_UNTIL_DUE + " = " + 
       newDays + " WHERE " + DBRecordsLayer.ASSIGNMENT_NUM + " = " + go + ";"); 


     } 
+1

'WHERE datefield = 2014-01-24' не будет хорошо ... –

+1

Нет записи, в которой столбец assign_num имеет то же значение (или тот же тип), что и' go'. –

+0

"WHERE" + DBRecordsLayer.ASSIGNMENT_NUM + "=" + go это не так? – AlleyOOP

ответ

0

Я понял мой вопрос: Как это не было проблемой во время выполнения, я нашел свой вопрос, чтобы быть (идти + 1) проблема. Поскольку значения идентификатора базы данных не обязательно начинаются с «1», они будут обновлять значения, которые больше не существовали в базе данных.

Смежные вопросы