android - 不能在带有参数和 % 字符的 Android SQLite 中使用 Like 语句

标签 android sql sqlite

Caused by: java.lang.IllegalArgumentException: Cannot bind argument at index 1 because the index is out of range. The statement has 0 parameters.

Android 无法识别 ?% 中的 ? 字符

我努力做到这一点:

 String selectQuery = "SELECT * FROM config WHERE Directory Like '?%';";

 SQLiteDatabase db = this.getReadableDatabase();
 Cursor cursor = db.rawQuery(selectQuery, new String[] {parent});

我已经搜索了一个解决方案,但找不到任何东西,我认为它非常特殊。我正在尝试这样做,因为我想让查询与包含字符 'Strings 一起工作。

也许有同样问题的人可以回答我,我该如何解决。

最佳答案

使用|| 连接参数和通配符:

SELECT * FROM config WHERE Directory Like ? || '%';

关于android - 不能在带有参数和 % 字符的 Android SQLite 中使用 Like 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33592565/

相关文章:

json - 比SQLite更简单

php - 从 Android 应用程序向 PHP 网络服务发布多于一条记录的数据

android - 如何使用 ContactsContract 仅获取收藏/加星标的联系人

Android 位置感知通知

php - PDO INSERT不在mysql中注册重复记录

mysql - 使用带有内连接的 group by 时得到错误的总和

sql - 如何仅在存在时删除 SQL Server 2008 中的表

sql - 是否可以在一个SQL查询中选择它?

java - setImageResource() 问题 - 如何实现文件路径?

iPhone App 无法正常复制?数据库文件仅适用于临时或应用程序商店分发且不处于开发模式