[英]Error in rawQuery of sqlite
我有这个查询:
Cursor c = datasource.db.rawQuery("select * from posts where tags like '%?%' order by time desc",new String[]{arg0});
但这给了我这个错误:
由于索引超出范围,因此无法在索引1处绑定参数。 该语句具有0个参数
我放置了? 查询中的字符,但rawQuery()未检测到它。
我现在该怎么办?
like '%?%'
-由于您将参数占位符括在引号中,因此从字面上看,它不再被视为参数,而是被视为字符串。
您想要这样做,而是:
Cursor c = datasource.db.rawQuery("select * from posts where tags like ?", new String[]{"%" + arg0 + "%"});
您可以做两件事。 第一:
Cursor c = datasource.db.rawQuery("select * from posts where tags like '%" + arg0 + "%' order by time desc", null);
或第二:
Cursor c = datasource.db.rawQuery("select * from posts where tags like'%' | '?' | '%'", new String[]{arg0});
在这里您可以找到更多可能的解决方案https://code.google.com/p/android/issues/detail?id=3153
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.