【发布时间】:2014-01-25 03:26:09
【问题描述】:
由于某种原因,更新方法不会改变我的 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);
//UP HERE ^^ 只是将值更改为 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 + ";");
}
【问题讨论】:
-
WHERE datefield=2014-01-24不会有好结果... -
不存在assignment_num列与
go具有相同值(或相同类型)的记录。 -
" WHERE " + DBRecordsLayer.ASSIGNMENT_NUM + " = " + go 这不是吗??
-
日期也是 int 值,我通过将 Millis 转换为 int 来确保它
标签: android database sqlite sql-update