2011-09-05 37 views
1

以前我选择了所有的东西都放了一个null,但我得到一个错误,抱怨它有太多的行,所以我试图得到显示名称,联系人ID和投影电话号码,但得到以下错误: “列‘_id’不存在”Android列'_id'不存在

下面的代码:

final String[] projection = { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, 
      ContactsContract.CommonDataKinds.Phone.NUMBER,ContactsContract.CommonDataKinds.Phone.CONTACT_ID }; 

    Cursor cur = cr.query(
      ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection, 
      "LENGTH(" + ContactsContract.CommonDataKinds.Phone.NUMBER 
        + ") >= 8) GROUP BY (" 
        + ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, null, 
      sortOrder); 

但错误指向这一行我customadapter

super(context, layout, c, from, to); 

需要帮助!谢谢!

+0

您是否使用光标适配器? – Richa

回答

1

android需要_id列,因此在您的查询中包含您的专用密钥列。

你可以像这样重命名结果栏中:

“从表中选择PRIMARYKEYCOLUMN为_id,BLA,BLUBB”

0

查看查询。您可能会错误地写column_id来代替contact_id,否则它不会显示此类型的错误。

相关问题