我正在使用Java开发Android应用程序,我需要在Java代码中查询数据库以检查userinput(variable)语句是否包含查询中使用LIKE
的SQLite数据库中的单词rowQuery
java代码中的方法,
我使用了这段代码,但它不起作用:
cursor = db.rawQuery("SELECT shompet FROM sentence WHERE " + column + " LIKE '%" + newMessage + "%'", null);
newMessage
是我的变量(userInput)
我读过类似的主题,但要么他们不是我的答案,要么他们是如此复杂。
答案 0 :(得分:2)
在表达式'hi' LIKE '%hi there%'
中,无法找到任何字符来替换%
通配符,以便字符串匹配。
您需要以相反的方式进行比较,即'hi there' LIKE '%hi%'
:
db.rawQuery("SELECT shompet FROM sentence" +
" WHERE ? LIKE '%' || " + column + " || '%'",
new String[] { newMessage });