Cursor cursor = database.rawQuery
("SELECT * FROM table where word like '?%'".replace("?",
letter),null);
当字符串 letter
中有单引号时应用程序崩溃。
需要解决没有 letter.replace("' ", "")
的问题,因为表格中有带引号的单词。
最佳答案
您错误地使用了语句 API。您应该绑定(bind)要在实际查询中显示的文字字符串值。也就是说,这样做:
String param = letter + "%";
String query = "SELECT * FROM table WHERE word LIKE ?";
Cursor cursor = database.rawQuery(query, new String[] { param });
API 负责正确转义您尝试构建的 LIKE
表达式。
关于java - android 上sqlite 中的单引号问题。需要在不替换引号的情况下解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53882450/