用android中的当前日期时间更新sqlite列

时间:2012-04-23 02:10:19

标签: android sqlite datetime

我的Android应用程序中有一个SQLite表,它有一个“MODIFIED”列。它基本上存储了当前行首次插入或更新的时间(日期和时间)。

如果我在android中使用SQLite DB的update()函数,我无法弄清楚如何在ContentValues参数中添加日期时间值。

如果我使用execSql()方法,我可以使用DATETIME() sql函数将当前时间设置为“MODIFIED”列。但是这个函数没有返回值。我不知道更新是否成功。

有任何建议吗?

2 个答案:

答案 0 :(得分:1)

你必须做以下事情:

ContentValues values = new ContentValues();
values.put("modified", currentTime);
db.update("table", values, "_id = XXX", null);

_id = XXX替换为您要用于更新行的条件。 Update方法返回更新的行数。

此外,您可以使用整数而不是DATETIME(因为它们实际上不存在于sqlite http://www.sqlite.org/datatype3.html中)该列的类型,并将System.currentTimeMillis()作为currentTime传递。

答案 1 :(得分:1)

另一种方法是创建一个'TRIGGER',使用SQLite本身read about it here.

在每个'UPDATE'上自动更新MODIFIED