2014-01-25 36 views
0

出于某种原因,更新方法不会更改我的SQLite数据库值!为什么?SQLite更新方法有什么问题?

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

没有记录,其中assignment_num列具有与'go'相同的值(或相同类型)。 –

+0

“WHERE”+ DBRecordsLayer.ASSIGNMENT_NUM +“=”+ go是不是这个? – AlleyOOP

回答

0

我想通了,我的问题: ,因为它不是一个运行时的问题,我发现我的问题是(去+ 1)的问题。由于数据库ID值不一定从'1'开始,它会更新数据库中不存在的值。