-2

我一直在尝试更新我的数据库中名为 COLUMN_NAME_PERIOD_END 的列,但似乎无法更新。

String[] endDate = new String[1];
endDate[0] = paraPeriodDetailsPojoObj.getPeriodEndDate();

Log.d("PeriodEnd.onClick()", "Date: " + endDate[0]);

/*UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
*/

sqliteDatabase.update(DBStorage.TABLE_NAME_PERIODSTART, contentValues, DBStorage.COLUMN_NAME_PERIOD_END+"=?", endDate);

没有显示错误消息,所以我想是我的更新语句有错误。:(

4

1 回答 1

0

从文档:

update(String table, ContentValues values, String whereClause, String[] whereArgs)

因此,您将数组contentValues(您未显示,因此问题可能存在)放入由 定义的表中TABLE_NAME_PERIODSTART,并通过搜索由COLUMN_NAME_PERIOD_ENDwhich must equal定义的列来选择要更新的记录endDate

我阅读您的问题标题的方式给我的印象是您实际上想COLUMN_NAME_PERIOD_END用 endDate 更新列...如果是这种情况,您的 SQL 不正确。

否则,一些突然想到寻找的可能性是:

1) 约束...您是否not null定义了一个字段并且您正在尝试使用 null 进行更新?
2)程序中的日期格式与数据库中的日期格式不同
3)您在数据库中搜索的 endDate 没有匹配记录

于 2012-06-06T06:44:44.177 回答