Android SQLite数据库删除

Android SQLite数据库删除,android,sqlite,Android,Sqlite,我想按日期删除所有行。在表中,我有以下格式的行:2014-01-01。现在,我想按日期范围删除所有行。 我创建了此方法,但我认为存在语法错误: public void deleteAllEntrate_e_uscite(View v) { SQLiteDatabase db = mHelper.getWritableDatabase(); db.delete(MyTable.TABLE_NAME, MyTable.DATA + "BETWEEN" +dateAndTime+

我想按日期删除所有行。在表中,我有以下格式的行:
2014-01-01
。现在,我想按日期范围删除所有行。 我创建了此方法,但我认为存在语法错误:

 public void deleteAllEntrate_e_uscite(View v) {
    SQLiteDatabase db = mHelper.getWritableDatabase();
      db.delete(MyTable.TABLE_NAME, MyTable.DATA + "BETWEEN" +dateAndTime+ "AND" +dateAndTime1, null);
    db.close();
    finish(); 

}

您需要分隔关键字:

MyTable.DATA + "BETWEEN" +dateAndTime+ "AND" +dateAndTime1
您需要空格和撇号,因为日期是字符串:

MyTable.DATA + " BETWEEN '" +dateAndTime+ "' AND '" +dateAndTime1 +"'"

连接时,元素之间不留空间

db.delete(MyTable.TABLE_NAME, MyTable.DATA + " BETWEEN " +dateAndTime+ " AND " +dateAndTime1, null);

由于要比较日期(而不是int类型的列),所以必须使用撇号

db.delete(MyTable.TABLE_NAME,MyTable.DATA+“介于“+dateAndTime+”和“+dateAndTime1+”之间”,null)

另外,在'between'和DATE参数之间添加一个空格。否则,您将得到SQLiteException。
还有一个建议,在执行每个查询之前,请确保db连接(此处为“db”)不为空

将字符串转换为日期。看看无数次的提问。。。第一空间。。。第二个撇号。。。当然,你应该使用参数……是的,正如我所说的。别忘了在日期周围加上撇号,因为它们是字符串。