我正在尝试使用以下内容:
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,老实说,我看不出我所做的有什么问题。
我究竟做错了什么?
谢谢你们
最佳答案
您必须将 % 附加到 selectionArgs 本身:
selectionArgs = new String[] { searchString + "%"};
Cursor c = db.rawQuery("SELECT column FROM table WHERE column=?", selectionArgs);
注意:因此,searchString 字符串中的 % 和 _ 仍然可以用作通配符!
关于android - 使用 selectionArgs 在查询中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10446155/