在Searchbox.addTextChangedListener(new TextWatcher()中的@Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) 中,这段代码哪错了Cursor cursor=db2.rawQuery("select*from student_course where scname like '%?%'",new String[]{(String) charSequence});
时间: 2024-01-25 14:03:48 浏览: 72
SearchBox:安卓自定义搜索框
这段代码的问题在于在 SQL 查询中使用了单引号来括住参数占位符 "?",这会导致参数占位符被视为字符串常量,而不是查询中的参数。因此,应该将单引号从参数占位符中移除,同时在查询参数字符串中包含百分号,如下所示:
```
Cursor cursor = db2.rawQuery("SELECT * FROM student_course WHERE scname LIKE ?", new String[]{"%" + charSequence + "%"});
```
这样,查询参数字符串将被正确地拼接到 SQL 查询中,而不会被视为字符串常量。
阅读全文