【发布时间】:2014-05-30 11:25:30
【问题描述】:
我有一个类似的 SQLite 表:
+---+-------------+----------------+
|_id| lap_time_ms |formatted_elapse|
+---+-------------+----------------+
| 1 | 5600 | 00:05.6 |
| 2 | 4612 | 00:04.6 |
| 3 | 4123 | 00:04.1 |
| 4 | 15033 | 00:15.0 |
| 5 | 4523 | 00:04.5 |
| 6 | 6246 | 00:06.2 |
其中 lap_time_ms 是 long 类型,表示一圈的时间量(以毫秒为单位),而 formatter_elapse 是一个字符串,表示第一列(elapse)的格式化(可显示)形式。
我的问题是,如果我想为每个 lap_time_ms 添加(比如说)5 秒 (5000),那么我使用如下语句:
DB.execSQL("update table_name set KEY_ELAPSE=KEY_ELAPSE+5000);
这很好,但是问题是 formatted_elapse 仍然保留其过时的值!
那么,如果我有如下函数,那么更新 formatted_elapse 列中的值的最佳方法是:
public static String getFormattedTime(long milliseconds) {
// custom code that processes the long
return processedString;
}
这可能是一个 长 镜头(当然是比喻性的说法;)但是是否可以让 SQLite 链接两列,这样如果我更新 lap_time_ms 行,formatted_elapse 将自动更新适当的。
提前致谢!
【问题讨论】:
标签: java android sqlite sql-update