通过比较多个列来过滤数据库中的项目?

时间:2014-12-31 02:23:33

标签: android

我想要KEY_PRODUCT_NAME以及KEY_PRODUCT_CATEGORY过滤商品。我怎样才能做到这一点?

mCursor = mDb.query(true, SQLITE_TABLE, new String[] {KEY_ROWID,
KEY_CODE, KEY_PRODUCT_NAME, KEY_PRODUCT_CATEGORY},
KEY_PRODUCT_NAME+ " like '%" + inputText + "%'", null,
null, null, null, null);

1 个答案:

答案 0 :(得分:0)

您不能直接在您的选择中使用%,也应该使用AND关键字根据两个或更多条件进行过滤 更改您的代码如下:

mCursor = mDb.query(true, SQLITE_TABLE, new String[] {KEY_ROWID,
KEY_CODE, KEY_PRODUCT_NAME, KEY_PRODUCT_CATEGORY},
KEY_PRODUCT_NAME+ " like ? AND " + KEY_PRODUCT_CATEGORY + " LIKE = ?", new String[] { "%" + inputText + "%", "%"+ category + "%"} ,
null, null, null, null);

这是选择KEY_PRODUCT_NAME+ " like ? AND " + KEY_PRODUCT_CATEGORY + " LIKE = ?"和selectionArgs new String[] { "%" + inputText + "%", "%"+ category + "%"}