在一段时间内定期更新SQLite

时间:2016-04-13 14:31:33

标签: java android sqlite sql-update

在我的android项目中,我正在解析一个包含项目列表的网页,并将它们记录到sqLite数据库中。由于页面内容正在发生变化,我需要在2个月内更新我的数据库表。 我怎样才能做到这一点 ?我可以在SQLite中获得最后插入的行日期吗?

1 个答案:

答案 0 :(得分:0)

您可以在数据插入sqlite表的列时插入日期时间。

示例:

在调用插入方法的地方,您将时间和日期插入字符串,如:

String getdateTime() {
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return sdf.format(now);
    }

所以你的插页看起来像

myDB.insert(getdateTime(),......);

然后在Sqlite处理程序类中,您可以查询最后更新的列,即您的日期时间。

 public String getLastDateTime() {
        String selectQuery = "SELECT * FROM " + MYTABLE + " ORDER BY datetimecolumn DESC LIMIT 1";
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);
        String str = "0";
        if (cursor.moveToFirst())
            str = cursor.getString(cursor.getColumnIndex(KEY_COLUMN_DATETIME));
        cursor.close();

        return str;
    }

因此,获取最后一列日期时间,将其与现在的日期时间以相同格式进行比较。 Look at this for more on that

如果经过的时间等于2个月,则运行更新。