2013-04-09 61 views
0

我想查詢數據庫以檢索電話號碼。用多個選擇項查詢

而不是使用具有選擇參數的靜態數組,我想使用一個數組,它將在運行時動態創建並填充(例如數組大小不同)。

我試圖用以下語句:

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

你需要把你的綁定變量到一個String數組:

Cursor phones =  
_ctx.getContentResolver().query(
    ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, 
    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " IN (?)", 
    new String[] { actioncids }, null); 

注意:如果你想添加一些actioncids你需要幾個?

希望這會有所幫助....乾杯!

+0

謝謝!我創建了一個新的方法:'private String repeatChar(String c,int frequency) { String result =「?」; for(int i = 1; i 2013-04-09 19:07:11