【问题标题】:android.database.sqlite.SQLiteException: near "?": syntax errorandroid.database.sqlite.SQLiteException:靠近“?”:语法错误
【发布时间】:2012-07-02 09:48:23
【问题描述】:

大家好

我有一个游标,我需要在 where 子句中验证特定 id 是否属于数组。

但是我有一个错误

android.database.sqlite.SQLiteException:靠近“?”:语法错误:,编译时:SELECT display_name, _id FROM view_data_restricted data WHERE (1) AND (data1 IN ? AND mimetype='vnd.android. cursor.item/group_membership' AND display_name like '%r%') ORDER BY display_name

这是我的代码

cursorContactosGrupos = managedQuery(ContactsContract.Data.CONTENT_URI,
                new String[]{ContactsContract.CommonDataKinds.GroupMembership.DISPLAY_NAME, ContactsContract.CommonDataKinds.GroupMembership._ID},
                ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID + " IN ? AND " + Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE + "' AND " + ContactsContract.CommonDataKinds.GroupMembership.DISPLAY_NAME + " like '%" + filter + "%'" ,
                new String[]{arrayTeste.toString().replace("[","(").replace("]",")")},
                ContactsContract.CommonDataKinds.GroupMembership.DISPLAY_NAME
                );

你能帮帮我吗? 谢谢

【问题讨论】:

    标签: android sqlite exception cursor in-operator


    【解决方案1】:

    尝试以下方法:

    cursorContactosGrupos = managedQuery(ContactsContract.Data.CONTENT_URI, new String[]{ContactsContract.CommonDataKinds.GroupMembership.DISPLAY_NAME, ContactsContract.CommonDataKinds.GroupMembership._ID},
                    ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID + " IN (?) AND " + Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE + "' AND " + ContactsContract.CommonDataKinds.GroupMembership.DISPLAY_NAME + " like '%" + filter + "%'" ,
                    new String[]{arrayTeste.toString().replace("[","(").replace("]",")")},
                    ContactsContract.CommonDataKinds.GroupMembership.DISPLAY_NAME
                    );
    

    只需将?(?) 括起来

    因为我们将查询写成 ... IN (VALUE)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 2020-11-29
      相关资源
      最近更新 更多