在SQLite中使用LIKE,?,两列

时间:2017-01-08 16:13:43

标签: android sqlite

所以,我在SQLite查询中添加了第二个参数。仅通过DATE进行搜索和识别时它工作正常,但我想添加额外的标识符TIME以防止删除不想要的行。这是我尝试过的,但这是错误的,虽然应该让你知道我正在尝试做什么。

public void deleteRowByDateTime (String d, String t){
    SQLiteDatabase db = this.getWritableDatabase();
    String[] deleteDate = new String[] { "%" +d +"%" };
    String[] deleteTime = new String[] { "%" +t +"%" };
    db.execSQL("DELETE FROM walk_run_table WHERE DATE LIKE ? AND TIME LIKE ?", deleteDate, deleteTime);
    db.close();
}

1 个答案:

答案 0 :(得分:1)

必须使用数组的原因是可以在其中放入多个值。这样做,而不是尝试使用两个数组:

String[] args = new String[] { "%" + d +"%", "%" + t +"%" };
db.execSQL("DELETE ... ? ... ?", args);