Не удается получить управляемый запрос с выбором для работы - PullRequest
0 голосов
/ 26 июля 2011

В моей программе для Android я пытаюсь использовать управляемый запрос с аргументом выбора, но получаю исключение Sql.

07-26 19:30:44.364: INFO/Database(1163): 
sqlite returned: error code = 1, msg = near ".": syntax error

Вот мой пример кода

    String[] proj = { MediaStore.Audio.Media._ID,
                      MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.TITLE,
                      MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.ALBUM_ID,
                      MediaStore.Audio.Media.IS_MUSIC };

     // Example without selection, works
     String selection = null;
     Cursor musiccursor = managedQuery(
                  MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, selection, null,
                  null);

     // Example with selection, does not work
     selection = "MediaStore.Audio.Media._ID = 1";
     musiccursor = managedQuery(
                MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, selection, null,
                null);

Спасибо, Никлас

1 Ответ

1 голос
/ 26 июля 2011

Выбор должен быть инициализирован так:

selection = MediaStore.Audio.Media._ID + "= 1";

Если вы включите MediaStore.Audio.Media._ID в кавычки, имя константы отправляется в SQLite для оценки вместо фактического имени столбца _id.

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