2010-11-04 11 views
1

Je suis en train d'exécuter une requête pour mon lecteur multimédia comme suit:Android: Trouble with requête contenant apostrophe

audioCursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, 
     AlbumColumns.ALBUM + "='" + albumKey + "'", null,AudioColumns.TRACK + " ASC"); 

Un problème se pose lorsque l'album a une apostrophe, car il se termine le segment albumKey et erreurs sur.

Est-ce que quelqu'un a des suggestions sur la façon de résoudre le problème?

Toute aide est grandement appréciée.

Merci, Josh

Répondre

4

Utilisez le point d'interrogation. Vous devriez toujours faire cela lors de l'utilisation des chaînes.

audioCursor = getContentResolver().query(
    MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, 
    AlbumColumns.ALBUM + "=?", 
    new String[] { albumKey }, 
    null, 
    AudioColumns.TRACK + " ASC"); 
+1

+1 Chaîne de sécurité ftw! – amphetamachine

+0

J'ai compris! Merci beaucoup. – Josh

+0

Pas de problème! Si vous avez plusieurs chaînes, utilisez plusieurs points d'interrogation et ajoutez-les dans le même ordre à ce tableau de chaînes. – EboMike