嗨,我有一个诗歌数据库,我想搜索诗歌,这就是我的代码现在的样子
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/

10-09 16:26