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

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/

10-10 13:34