我正在使用此查询...
Cursor cursor = sqliteDb.query(DB_Table,null,“col like”+“\”“ + fetchingstring +“%”+“\”“,null,null,null, “COLLATE BINARY”);
当我执行此搜索时,它会给我错误:
01-19 11:13:29.134:E / AndroidRuntime(1707):android.database.sqlite.SQLiteException:near“COLLATE”:语法错误:,同时编译:SELECT * FROM tablename ORDER BY COLLATE BINARY;
在我的Sqlite数据库中,我已经使用COLLATE BINARY执行了该列。所以,请帮我解决这个问题。谢谢V.K。
答案 0 :(得分:1)
变化
COLLATE BINARY to COLLATE_BINARY
和
"col like " + "\""+ fetchingstring + "%" + "\"" TO "col like '"+ fetchingstring + "%'"
答案 1 :(得分:0)
根据Sqlite的文档,你应该创建一个带有整理单词的数据库......
PL。请参阅文档here。
答案 2 :(得分:0)
我认为sqlite期望ORDER BY和COLLATE之间的列名。也许你可以尝试这样的事情:
Cursor cursor = sqliteDb.query(DB_Table, null, "col like " + "\"" + fetchingstring + "%" + "\"", null, null, null, "col COLLATE BINARY");
假设col
是您表格中的有效列。
答案 3 :(得分:0)
只需使用glob而不是喜欢使搜索区分大小写..
Cursor cursor = sqliteDb.query(MY_DB_Table_Name, null, "col glob"+ "*" + "\"" + fetchingstring + "*" + "\"", null, null, null, null);
使用相同的查询,我们可以在sqlite中使搜索区分大小写。