Android列'_id'不存在

时间:2011-09-05 10:02:04

标签: android cursor

之前我通过输入null来选择所有内容,但是我得到一个错误,抱怨它有太多行,所以我试图得到显示名称,联系人ID和电话号码的投影,但得到以下错误: “列'_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);

需要帮助!谢谢!

3 个答案:

答案 0 :(得分:2)

BaseColumns._ID添加到投影数组中。

答案 1 :(得分:1)

android需要_id列,因此请在查询中包含带私钥的列。

您可以使用以下内容重命名结果列:

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

答案 2 :(得分:0)

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