Android 类似sqlite的函数不适用于逗号?
我想知道,我的代码运行,但它不会返回我想要的结果。例如,我的 第一栏是:热狗,培根,奶酪 我想搜索培根。我找不到培根。但若我搜索奶酪或热狗类的查询可以找到它。我想如果这个词用逗号括起来。我需要做什么Android 类似sqlite的函数不适用于逗号?,android,android-sqlite,Android,Android Sqlite,我想知道,我的代码运行,但它不会返回我想要的结果。例如,我的 第一栏是:热狗,培根,奶酪 我想搜索培根。我找不到培根。但若我搜索奶酪或热狗类的查询可以找到它。我想如果这个词用逗号括起来。我需要做什么 public ArrayList<String> getrecom(int recom1) { ArrayList<String> result = new ArrayList<String>(); SQLiteDatabase db = dbH
public ArrayList<String> getrecom(int recom1) {
ArrayList<String> result = new ArrayList<String>();
SQLiteDatabase db = dbHelperFoods.getWritableDatabase();
String selectQuery = "SELECT * FROM "+ recom.TABLE+" WHERE " +KEY_recom+ " LIKE '%"+recom1+"%'";
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
result.add(cursor.getString(cursor.getColumnIndex("name")));
while (cursor.moveToNext()) {
result.add(cursor.getString(cursor.getColumnIndex("name")));
}
}
cursor.close();
db.close();
return result;
}
public ArrayList getrecom(int-recom1){
ArrayList结果=新建ArrayList();
SQLiteDatabase db=dbHelperFoods.getWritableDatabase();
String selectQuery=“SELECT*FROM”+recom.TABLE+,其中“+KEY_recom+”类似“%”“+recom1+“%”;
Cursor Cursor=db.rawQuery(selectQuery,null);
if(cursor.moveToFirst()){
add(cursor.getString(cursor.getColumnIndex(“name”));
while(cursor.moveToNext()){
add(cursor.getString(cursor.getColumnIndex(“name”));
}
}
cursor.close();
db.close();
返回结果;
}
方法签名声明recom1
是一个int
。。。也许这不是你想要的?!旁注:“key”列是一个字符串,通常是一个“no no”,请尝试阅读准备好的语句
,或者,为了防止SQL注入。。。只是对最佳实践的友好提醒不,先生,对不起,我的示例和代码太复杂了。我修改了它以返回一些东西。是的,它返回,但问题是,如果数据被逗号舍入,例如“1,2,3,4”,我的查询可以找到1和4,而2和3不能。