我喜欢在Android中使用SQLite。
我试图通过执行此操作从数据库中删除旧帖子
this.db.delete(
EVENT_TABLE_NAME,
"date < ?",
new String[] {String.valueOf(limit.getTime())}
);
其中limit是从Calendar实例获取的当前日期,并扣除了216000000毫秒。
但这似乎删除了所有帖子。
答案 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;
}