Android SQLite数据库删除

时间:2015-03-29 17:42:48

标签: 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+ "AND" +dateAndTime1, null);
    db.close();
    finish(); 

}

3 个答案:

答案 0 :(得分:1)

连接时,不要在元素之间留下空格。

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

答案 1 :(得分:0)

您需要将关键字分开:

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

你需要空格而你需要撇号,因为你的日期是字符串:

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

答案 2 :(得分:0)

由于你要比较日期(不是int类型的列),你必须使用撇号。所以查询将是这样的。

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

在' BETWEEN'之间添加一个空格。 &安培; DATE PARAMETER.Other明智的你会得到SQLiteException。 一个建议是,在执行每个查询之前,请确保数据库连接(此处为' db')不为空。