嗨,我有一个诗歌数据库,我想搜索诗歌,这就是我的代码现在的样子
public ArrayList searchthequeryforme(String inputText){
// TODO自动生成的方法存根
String[] columns = new String[] { KEY_ROWID, KEY_TEXT, KEY_TITLE };
Cursor c = mydatabase.query(true,TABLE_POEM, columns, KEY_TEXT+" like '%"+inputText+"%'", null, null,
null, null, null);
ArrayList<poem> myarray = new ArrayList<poem>();
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
poem = new poem(c.getInt(0), c.getString(1), c.getString(2));
myarray.add(poem);
}
return myarray;
}
但是在这种情况下,例如,如果我搜索“ poem”,它将检索我有“ poet”的记录,并且附带了实际上没有“ poem”的文本,我想获取确切的记录,查询应该是什么样子?
最佳答案
这就是LIKE
运算符的作用。要获得完全匹配,请更改
KEY_TEXT+" like '%"+inputText+"%'"
至
KEY_TEXT+"='"+inputText+"'";
关于android - 如何在sqlite查询中编写where子句以获取确切值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17408622/