加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite LIKE问题在android

发布时间:2020-12-12 19:16:44 所属栏目:百科 来源:网络整理
导读:Hello我花了将近2个小时试图找出为什么LIKE语句不工作,我只得到这个错误:03-03 11:31:01.770:ERROR / AndroidRuntime(11767):Caused by:android.database。 sqlite.SQLiteException:绑定或列索引超出范围:handle 0x89d9f8 在SQLiteManager它的工作
Hello我花了将近2个小时试图找出为什么LIKE语句不工作,我只得到这个错误:03-03 11:31:01.770:ERROR / AndroidRuntime(11767):Caused by:android.database。 sqlite.SQLiteException:绑定或列索引超出范围:handle 0x89d9f8

在SQLiteManager它的工作原理完全像这样:SELECT Word FROM Sign WHERE Word LIKE’he%’;
但是当我尝试从Java做它不会工作。
这是我的查询,我试过了很多方式没有运气:

Cursor cursor = m_db.query(MY_TABLE,new String[] {"rowid","Word"},"Word"+" LIKE '"+" ?"+"%'",new String[]{name},null,null);

有任何想法吗?我是我做错了还是有一个错误?

谢谢你的时间。

我认为你不应该使用selArgs LIKE这样的方式。你可以试试这个:
Cursor cursor = m_db.query(MY_TABLE,"Word"+" LIKE '"+name+"%'",null);

编辑:

OK,如果你想要从SQL注入安全,不要使用上面的解决方案,使用这个:

Cursor cursor = m_db.query(MY_TABLE,"Word LIKE '?'",new String[]{name+"%"},null);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读