1

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

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

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

有人有什么建议吗?

4

2 回答 2

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.

于 2012-04-23T02:15:01.533 回答
1

另一种方法是创建一个'TRIGGER',它会在每次'UPDATE'时使用SQLite 自动更新MODIFIED,请在此处阅读。

于 2012-04-23T02:55:45.363 回答