0
所以我需要在我的数据库中搜索TABLE。SQLite - 在条款中使用LIKE子句
我创建一个SQLite查询,像这样
String selection = COLUMN_1 + " LIKE ? AND " + COLUMN_2 + " ?= AND " + COLUMN_3 + " ?=";
String selectionArgs[] = {"%" + value1 + "%", value2 , value3 };
Cursor cursor = db.query(TABLE_1, null, selection, selectionArgs, null, null, null);
我有以下错误
SQLiteException: near "?": syntax error (Sqlite code 1): , while compiling: SELECT * FROM TABLE_1 WHERE COLUMN_1 LIKE ? AND COLUMN_2 ?= AND COLUMN_3 ?=, (OS error - 2:No such file or directory)
尝试许多不同的变化和研究,我放弃了后,写了rawQuery
String query = "SELECT * FROM " + ITEMS_CONTENT_TABLE + " WHERE " + ITEM_NAME + " LIKE '%" + name + "%' AND " + BASE_CATEGORY_NAME + " = '" + baseCategoryName + "' AND " + BASE_CATEGORY_SRC_PATH + " = '" + baseCategorySrcPath + "';";
Cursor cursor = db.rawQuery(query , null);
无缝工作!
我的问题是为什么前者不工作?如果确实是语法错误,那么它在后面的例子中也不应该起作用。
变化如下 字符串选择= COLUMN_1 + “怎么样?和” + COLUMN_2 +“= ?AND“+ COLUMN_3 +”=?“; –
@GiacomoLai该死......我不相信我错过了很多的感谢。我花了2个小时在我的脑海里疯了。将其添加为答案,我会接受它。 – Abbas
好的谢谢:) –