2011-07-26 39 views
0

在我的Android程序中,我嘗試使用具有選擇參數的managedQuery,但我得到一個Sql異常。無法獲得帶有選擇的managedQuery

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

選擇應這樣進行初始化:

選擇= MediaStore.Audio.Media._ID +」 = 1 「;

如果將MediaStore.Audio.Media._ID包含在引號中,則將常量名發送給SQLite以評估而不是實際列名_id。

+0

謝謝,現在它工作正常。 :-) – Mackalacka

相關問題