繁体   English   中英

sqlite rawQuery中的错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM