int FROMcountryChooseId=10;
String ToConvert = (EditView)findViewById(R.id.NumberEditView);
String query="SELECT DISTINCT trim(Country.Country) FROM Country,DCI WHERE Country.CountryN°= "+FROMcountryChooseId+ " AND Country.Country LIKE "+"'&ToConvert&'"+" AND DCI._ID=Medicaments.DCIN° ORDER BY DRUG ASC LIMIT 1000;";
myDataBase.rawQuery(query, selectionArgs)
您好我不知道如何让我的查询将wordToConvert识别为内容而不仅仅是字符串的变量。
知道怎么做吗?
感谢您的帮助
答案 0 :(得分:0)
您应该使用SQLiteDatabase.rawQuery来执行正确的字符串替换。
sqliteDatabase.rawQuery(
"SELECT DISTINCT trim(Country.Country)
FROM Country,DCI
WHERE Country.CountryN°= ?
AND Country.Country LIKE ?
AND DCI._ID=Medicaments.DCIN°
ORDER BY DRUG ASC
LIMIT 1000",
new String[] {
Integer.toString(FROMcountryChooseId),
"%" + ToConvert + "%"
});
只需放置文字所在的?
,并在字符串数组中设置相应的值。 Android将正确转义并引用该值,因此您无需以任何方式预处理它。
在这种情况下,LIKE
表达式就像任何其他表达式一样。
请注意,此处不需要分号,因为不支持多个语句。