Столбец Android '_id' не существует - PullRequest
1 голос
/ 05 сентября 2011

Ранее я выбрал все, указав значение NULL, но я получаю сообщение об ошибке, в котором содержится слишком много строк, поэтому я пытаюсь получить проекцию отображаемого имени, идентификатора контакта и номера телефона, но получаю следующую ошибку: "столбец _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);

Но ошибка указывает на эту строку в моем привычном адаптере

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

Нужна помощь! Спасибо!

Ответы [ 3 ]

2 голосов
/ 05 сентября 2011

Добавьте BaseColumns._ID в массив проекций.

1 голос
/ 05 сентября 2011

android нужен столбец _id, поэтому включите в свой запрос свой столбец с закрытым ключом.

Вы можете переименовать столбец результата примерно так:

"выбрать PRIMARYKEYCOLUMN как _id, BLA, BLUBB из TABLE"

0 голосов
/ 05 сентября 2011

См ваш запрос.Вы можете написать column_id вместо contact_id по ошибке, иначе он не покажет ошибку этого типа ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...