Android SQLite COLLATE NOCASE语法错误

时间:2016-03-04 23:47:45

标签: java android database sqlite

我在数据库中搜索,我想在任何情况下获取数据(UPPER lower或Mix)。我发现COLLATE NOCASE可以解决这个问题,但它会导致错误。

正如您在此处可以看到查询...

  

android.database.sqlite.SQLiteException:靠近“COLLATE_NOCASE”:语法   错误(代码1):,编译时:

Select 
    _ID, Name, Surname, Username, Password, Roll 
From
    USER 
Where 
    name = 'Danyal Ahmed' 
    and surname = 'CHAUDHRY' COLLATE_NOCASE;

感谢任何帮助。

  

03-04 23:41:06.760 28952-28952 /? E / AndroidRuntime:致命异常:   主要                                                      处理:com.example.danyalahmed.stockmanagement,PID:28952                                                      android.database.sqlite.SQLiteException:靠近“COLLATE_NOCASE”:语法   错误(代码1):,编译时:选择_ID,Name,Surname,   用户名,密码,滚动来自USER,其中name ='Danyal Ahmed'和   surname ='CHAUDHRY'COLLATE_NOCASE;                                                          在android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native   方法)                                                          在android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:895)                                                          在android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:506)                                                          在android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)                                                          在android.database.sqlite.SQLiteProgram。(SQLiteProgram.java:58)                                                          在android.database.sqlite.SQLiteQuery。(SQLiteQuery.java:37)                                                          在android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)                                                          在android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)                                                          在android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)                                                          在com.example.danyalahmed.stockmanagement.Classes.DbAdapter.getData(DbAdapter.java:113)                                                          at com.example.danyalahmed.stockmanagement.Activities.Users $ 1.onItemSelected(Users.java:83)                                                          在android.widget.AdapterView.fireOnSelected(AdapterView.java:914)                                                          在android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:903)                                                          在android.widget.AdapterView.access $ 300(AdapterView.java:48)                                                          在android.widget.AdapterView $ SelectionNotifier.run(AdapterView.java:873)                                                          在android.os.Handler.handleCallback(Handler.java:739)                                                          在android.os.Handler.dispatchMessage(Handler.java:95)                                                          在android.os.Looper.loop(Looper.java:211)                                                          在android.app.ActivityThread.main(ActivityThread.java:5373)                                                          at java.lang.reflect.Method.invoke(Native Method)                                                          在java.lang.reflect.Method.invoke(Method.java:372)                                                          在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1020)                                                          在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)

1 个答案:

答案 0 :(得分:3)

它" COLLATE NOCASE"没有下划线。