在sqlitedb中搜索字符串数组元素

时间:2015-09-07 19:52:34

标签: android oracle sqlite search

我的表包含7列ID,NAME,LAT,LON,SPEED和TYPE。表名是路由,通过使用此代码,我可以使用搜索栏针对NAME字段提供的ID字段从数据库中查找所需项目,但现在我想在NAME列中查询类似的更多项目并获取ID,我希望存储在光标中。问题是由于对SQL无法编写查询语句的了解较少。

 public Cursor selectByID(long id)
    {
        return db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE " + K_ID + " = " + id, null);
    }

1 个答案:

答案 0 :(得分:0)

所以,如果你想通过名字获得ID:

public Cursor selectByName(String name) {
    return db.rawQuery("SELECT " + K_ID + " FROM " + TABLE_NAME + " WHERE " + NAME + " = " + name, null);
}

如果你想通过几个名字获得几个ID:

 public Cursor selectByNames(String[] names) {
    String where = "WHERE ";
    for (int i = 0; i < names.length; ++i) {
        if (i != 0) where += " OR ";
        where += NAME + "='" + names[i] + "'";
    }
    return db.rawQuery("SELECT " + K_ID + " FROM " + TABLE_NAME + " " + where + " ", null);
}