2011-07-26 34 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

相关问题