2015-02-06 92 views
-2

我是SQLite数据库的新手。这不是任何其他问题的重复。我将行动态插入到具有标题,标签,日期,位置等列的表中。我在列表视图中显示了从今天到用户的剩余日期。现在我的问题是,我需要每天更新sqlite表中剩余的日期列,以便它基于当天递减。如何一次更新剩余天数列的所有行?以及如何根据时间减少/更新它?这是我尝试过的。如何更新Android中SQLite数据库中列的所有行?

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); 
    } 

回答

1

-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; 

至于“更新它基于按时“,您可以在每日闹钟中执行此操作,或者在您输入应用程序时查看最后一次操作的时间。在这个网站上寻找关于AlarmManager的类似问题。

+0

非常感谢。有效!将尝试找到一些逻辑来检查基于时间的更新。 – gogs09 2015-02-06 18:01:51

+0

很高兴我能帮到你。 – 323go 2015-02-06 19:16:41