Android查询多行:绑定或列索引超出范围

时间:2012-02-03 20:01:45

标签: android

String[] ids = new String[]{"1","2","3","4"};
Cursor emailCur = getContentResolver().query( 
                ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
                null,
                ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", 
                ids, null);

我认为这应该是包含参数的问题。

我试图把它放在那里

String[] ids = new String[]{"(1,2,3,4)"};
// or
String[] ids = new String[]{"('1','2','3','4')"};

并尝试将+ " = ?",更改为+ " IN ?",,但根本没有工作......

我想在ARRAY中选择所有带ID的行,我该怎么做?

1 个答案:

答案 0 :(得分:1)

我怀疑你想要做的事情是不容易实现的。

说过我会通过使用原始代码解决问题,但将where子句更改为:

ContactsContract.CommonDataKinds.Email.CONTACT_ID + " IN(?,?,?,?)"

您必须使用for-loop为?子句中指定的每个id值添加IN标记