我想按日期删除所有行。在表格中,我有这种格式的行: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();
}
答案 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')不为空。