引起:java.lang.IllegalArgumentException:无法绑定索引1处的参数,因为索引超出范围。该声明 有0个参数。
Android无法识别?
?%
个字符
我试图实现这个目标:
String selectQuery = "SELECT * FROM config WHERE Directory Like '?%';";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, new String[] {parent});
我已经找到了一个解决方案,但找不到任何东西,我认为这是非常具体的。我试图这样做是因为我想让查询与包含字符Strings
的{{1}}一起使用。
也许遇到同样问题的人可以回答我如何解决这个问题。
答案 0 :(得分:4)
使用||
连接参数和通配符:
SELECT * FROM config WHERE Directory Like ? || '%';
答案 1 :(得分:0)
SELECT * FROM config WHERE Directory Like '?' || '%';
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, new String[] {parent});
使用||
解决了这个问题
答案 2 :(得分:-1)
您可以将您拥有的条件放入String
变量中,然后将其传递给您的查询 - > String Condition="'?";
SELECT * FROM config WHERE Directory Like '"+Condition+"'