Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中更新SQLite数据库中列的所有行?_Java_Android_Sqlite_Sql Update_Android Sqlite - Fatal编程技术网

Java 如何在Android中更新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"

我是SQLite数据库的新手。这不是任何其他问题的重复。我将动态地将行插入到一个表中,该表包含诸如title、tag、date、location等列。我将在listview中向用户显示从今天开始的剩余天数。现在我的问题是,我需要每天更新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
应该是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
的类似问题。

非常感谢。成功了!将尝试找到一些逻辑来检查基于时间的更新。