我想查询数据库以检索电话号码。
我不想使用带选择参数的静态数组,而是想使用一个数组,它将在运行时动态创建和填充(例如数组的大小不同)。
我尝试使用以下语句:
Cursor phones = _ctx.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " IN (?)",
actioncids, null);
“actioncids”:=带有选择参数的String [],包含来自先前查询的元素
我总是收到错误消息:
android.database.sqlite.SQLiteException:绑定或列索引超出范围句柄0x3c6540
我想我必须在Where-Clause中使用不同的表达式。
提前致谢
答案 0 :(得分:0)
您需要将绑定变量放入String数组中:
Cursor phones =
_ctx.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " IN (?)",
new String[] { actioncids }, null);
注意:如果您想添加多个actioncids
,则需要多个?
。
希望这有帮助....干杯!