【发布时间】:2016-04-13 14:31:32
【问题描述】:
在我的 android 项目中,我正在解析一个包含项目列表的网页并将它们记录到 sqLite 数据库。由于页面内容正在发生变化,我需要在 2 个月内更新我的数据库表。 我怎样才能做到这一点 ?我可以在 SQLite 中获取最后插入的行日期吗?
【问题讨论】:
-
您可以在您的数据库中添加一个日期列并进行相应的查询。
标签: java android sqlite sql-update
在我的 android 项目中,我正在解析一个包含项目列表的网页并将它们记录到 sqLite 数据库。由于页面内容正在发生变化,我需要在 2 个月内更新我的数据库表。 我怎样才能做到这一点 ?我可以在 SQLite 中获取最后插入的行日期吗?
【问题讨论】:
标签: java android sqlite sql-update
您可以在将数据插入到 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 个月运行更新。
【讨论】: