【问题标题】:Update SQLite regularly in a time period在一段时间内定期更新 SQLite
【发布时间】:2016-04-13 14:31:32
【问题描述】:

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

【问题讨论】:

  • 您可以在您的数据库中添加一个日期列并进行相应的查询。

标签: java android sqlite sql-update


【解决方案1】:

您可以在将数据插入到 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 个月运行更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    相关资源
    最近更新 更多