我是SQLite数据库的新手。这不是任何其他问题的重复。我正在动态地将行插入到包含标题,标记,日期,位置等列的表中。我在列表视图中显示从今天到用户的剩余天数。现在我的问题是,我需要每天更新sqlite表中的剩余days列,以便它根据当天递减。如何一次更新剩余天数列的所有行?以及如何根据时间减少/更新它?这就是我的尝试。
public static final String KEY_REMAINING_DAYS = "remainingdays";
public static final int COL_REMAINING_DAYS = 10;
private static final String DATABASE_CREATE_MY_SQL =
"create table " + MY_TABLE
+ " (" + KEY_ROW_ID + " integer primary key autoincrement, "
+ KEY_TAG + " text not null, "
+ KEY_TITLE + " text not null, "
+ KEY_DATE + " text not null, "
+ KEY_LOCATION + " text not null, "
+ KEY_REMAINING_DAYS + " text not null, "
+ ");";
public void update_days() {
String where = "UPDATE "+ MY_TABLE +" SET " + COL_REMAINING_DAYS + " = " + COL_REMAINING_DAYS-1);
db.rawQuery(where, null);
}
答案 0 :(得分:2)
-1
应为SQL,例如:
public void update_days() {
String where = "UPDATE "+ MY_TABLE +" SET " + KEY_REMAINING_DAYS + " = " + KEY_REMAINING_DAYS + "-1" );
db.rawQuery(where, null);
}
以便生成的查询为:
UPDATE <MY_TABLE>
SET <KEY_REMAINING_DAYS> = <KEY_REMAINING_DAYS> -1;
至于&#34;根据时间更新它,&#34;您是在每日闹钟中执行此操作,还是检查一下您在进入应用时最后一次完成的操作。在此网站上查找有关AlarmManager
的类似问题。