0

文字列が次の場合、一重引用符と二重引用符をエスケープする方法

t"'e'"s""t''

つまり、一重引用符と二重引用符を一緒に含む文字列内の引用符をエスケープする方法です。

このような例:

    String whereClauseToTracks = MediaStore.Audio.Media.ARTIST + " = '" + artist + "' "; // t"'e'"s""t'' - instead of artist
    Cursor cursorToTracks = mResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI , new String[] { MediaStore.Audio.Media.ALBUM }, whereClauseToTracks, null, null);

文字列に引用符が含まれていると、SQL lite 例外が発生します。

4

2 に答える 2

1

selectionArgs?を次のselectionよう に使用します。

String selection= MediaStore.Audio.Media.ARTIST + " = ?";
Cursor cursorToTracks = mResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI , new String[] { MediaStore.Audio.Media.ALBUM }, selection, new String[] {artist}, null);
于 2012-04-20T11:02:56.790 に答える
0

使用する \' \"

String whereClauseToTracks = MediaStore.Audio.Media.ARTIST + " = '" + "t\"\'e\'\"s\"\"t\'\'" + "' ";    
于 2012-04-20T10:52:35.213 に答える