0
我无法使用'like'来显示相应的产品以搜索包含相关单词的产品名称。SQLite LIKE搜索
String sql = "SELECT "+WPTemplateDB.PRODUCT_TABLE+".*"
+" FROM "+WPTemplateDB.PRODUCT_TABLE+" product"
+" JOIN "+WPTemplateDB.CATEGORY_TABLE+" cat"
+" ON product."+WPTemplateDB.PRODUCT_ID+"= cat."+WPTemplateDB.PRODUCT_ID
+" WHERE "+column+" "+(column==WPTemplateDB.TITLE?"LIKE":"=")+" ?";
Log.d("sql", sql);
Log.d("query",(column==WPTemplateDB.TITLE?("%"+query+"%"):query));
Cursor cursor = db.rawQuery(sql, new String[]{(query==WPTemplateDB.TITLE?"%"+query+"%":query)});
Log.d("count", cursor.getCount()+"");
if (cursor.getCount()>0){
while (cursor.moveToNext()){
Log.d("product", cursor.getInt(cursor.getColumnIndex(WPTemplateDB.PRODUCT_ID))+"");
Product product = new Product(cursor.getInt(cursor.getColumnIndex(WPTemplateDB.PRODUCT_ID)), db);
gridProduct.add(product);
}
return gridProduct;
} else {
return new ArrayList<Product>(); //avoid returning null
}
当我搜索标题只是一个字符“a”(这肯定存在一个‘产品有一个标题’),日志显示它正确地转换为%A%但伯爵出来0,什么都没有搜索........当这个来与'='不'喜欢'它是工作!为什么??
多么愚蠢的错误,我已经让XD,thx – Simon