从SQLite-Database中删除数据

时间:2011-09-21 09:18:13

标签: android sqlite

我喜欢在Android中使用SQLite。

我试图通过执行此操作从数据库中删除旧帖子

this.db.delete(
  EVENT_TABLE_NAME,
  "date < ?", 
  new String[] {String.valueOf(limit.getTime())}
);

其中limit是从Calendar实例获取的当前日期,并扣除了216000000毫秒。

但这似乎删除了所有帖子。

4 个答案:

答案 0 :(得分:3)

试试这个

this.db.delete(
  EVENT_TABLE_NAME,
  "date < "+limit.getTime(),null);

答案 1 :(得分:0)

我的猜测是:

context.deleteDatabase(DATABASE_NAME);

答案 2 :(得分:0)

您可以尝试这样的事情:

public static String getDateStringFromDate(Date date, String pattern,
                                           String timezone) {
    // Set locale to US to prevent date issues
    if (!Locale.getDefault().equals(Locale.US)) {
        Locale.setDefault(Locale.US);
    }
    SimpleDateFormat df = new SimpleDateFormat(pattern);
    if (timezone != null) {
        df.setTimeZone(TimeZone.getTimeZone(timezone));
    }
    if (date == null) {
        return null;
    }
    try {
        return df.format(date);
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

此函数将使用您的自定义日期格式创建一个字符串,您可以创建一个功能查询:) 之后你可以使用这样的删除功能:

this.db.delete(
    EVENT_TABLE_NAME,
    "date < ?", 
    new String[] {getDateStringFromDate(date,pattern,timezone)}

);

答案 3 :(得分:0)

这对我有用:

    public static boolean deleteData(String tableName,String where, String[] value){
    sqliteDb = instance.getWritableDatabase();
    sqliteDb.delete(tableName, where, value);
    return true;
    }