Java 如何在Android中更新SQLite数据库中列的所有行?
我是SQLite数据库的新手。这不是任何其他问题的重复。我将动态地将行插入到一个表中,该表包含诸如title、tag、date、location等列。我将在listview中向用户显示从今天开始的剩余天数。现在我的问题是,我需要每天更新sqlite表中的“剩余天数”列,以便它根据日期递减。如何一次更新剩余天数列的所有行?如何根据时间减少/更新它?这就是我尝试过的Java 如何在Android中更新SQLite数据库中列的所有行?,java,android,sqlite,sql-update,android-sqlite,Java,Android,Sqlite,Sql Update,Android Sqlite,我是SQLite数据库的新手。这不是任何其他问题的重复。我将动态地将行插入到一个表中,该表包含诸如title、tag、date、location等列。我将在listview中向用户显示从今天开始的剩余天数。现在我的问题是,我需要每天更新sqlite表中的“剩余天数”列,以便它根据日期递减。如何一次更新剩余天数列的所有行?如何根据时间减少/更新它?这就是我尝试过的 public static final String KEY_REMAINING_DAYS = "remainingdays"
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
应该是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;
更新
SET=-1;
至于“基于时间进行更新”,你可以在每日闹钟中进行更新,或者在进入应用程序时检查最后一次更新的时间。请在此网站上查找有关
AlarmManager
的类似问题。非常感谢。成功了!将尝试找到一些逻辑来检查基于时间的更新。