使用selectionArgs在查询中不起作用

时间:2012-05-04 09:24:55

标签: android sqlite

我正在尝试使用以下内容:

String dbquery = "Select * From stops where stopname LIKE '%?%' LIMIT 100";
String[] uinputarray = {uinput};
Cursor c = sDB.rawQuery(dbquery, uinputarray);

这种情况一直在崩溃。

奇怪的是,如果我使用旧的测试代码:

Cursor c = sDB.rawQuery("Select * From stops where stopname LIKE '%" + uinput + "%' LIMIT 100", null);

它完美无缺。

我一直在阅读selectionArgs,老实说我不知道​​我做了什么。

我做错了什么?

谢谢你们

1 个答案:

答案 0 :(得分:7)

您必须将%附加到selectionArgs本身:

selectionArgs = new String [] {searchString +“%”};

Cursor c = db.rawQuery(“SELECT column FROM table WHERE column =?”,selectionArgs);

注意:因此,searchString字符串中的%和_仍可用作通配符!