使用selectionArgs在查询中不起作用

Mar*_*ark 4 sqlite android

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

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

这种情况一直在崩溃.

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

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

它完美无瑕.

我一直在阅读selectionArgs,老实说我看不出有什么问题.

我究竟做错了什么?

多谢你们

ank*_*hoi 7

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

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

游标c = db.rawQuery("SELECT列FROM表WHERE列=?",selectionArgs);

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