简体   繁体   English

SQLite语法错误在“%”附近

[英]SQLite syntax error near “%”

I get this error 我得到这个错误

android.database.sqlite.SQLiteException: near "%": syntax error: , while compiling: SELECT _id, word, meaning FROM todo WHERE KEY_WORD = +%D9%84

for this 为了这

database.query(DATABASE_TABLE, new String[] {
            KEY_ROWID, KEY_WORD, KEY_MEANING }, "KEY_WORD = " +word, null, null,
            null, null,null);

when word is +%D9%84 当单词是+%D9%84时

You have to escape the SQL query. 您必须转义SQL查询。 To do this, use the selectionArgs field (right after "KEY_WORD = " +word in your code). 为此,请使用selectionArgs字段( "KEY_WORD = " +word在代码中"KEY_WORD = " +word之后)。 It will replace any ? 它将取代任何? in the selection field with its elements: 在选择字段及其元素中:

database.query(DATABASE_TABLE, new String[] {
  KEY_ROWID, KEY_WORD, KEY_MEANING }, KEY_WORD + " = ?", new String[] { word },
  null, null, null, null);

For more details, read this . 有关更多详细信息,请阅读此内容

您必须在单词上加上"字符”。如果要使用通配符,则必须使用like比较运算符代替=

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM