在Android上的sqlite中的单引号问题.需要解决而无需更换报价


Cursor cursor = database.rawQuery
            ("SELECT * FROM table where word like '?%'".replace("?", 
              letter),null);

字符串letter应用程序中有单个引用时。需要在没有letter.replace(" ' ", " ")的情况下解决,因为表中有一些单词。

您错误地使用了语句API。您应该绑定要出现在实际查询中的文字字符串值。也就是说,这样做:

String param = letter + "%";
String query = "SELECT * FROM table WHERE word LIKE ?";
Cursor cursor = database.rawQuery(query, new String[] { param });

正确逃脱您要构建的LIKE表达式是API的责任。

最新更新