在使用类似sql的语句时,我在查询单引号时遇到问题
这是我的SQL查询,用于搜索SD卡中的音乐文件。
final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
final String[] cursor_cols = {
MediaStore.Audio.Media.TITLE
};
where = MediaStore.Audio.Media.TITLE + " like ('%"+SomeSongTitle+"%')";
cursor = getContentResolver().query(uri, cursor_cols, where, null, null);
SomeSongTitle
是用户输入的任意输入文本。我的问题是为什么当
SomeSongTitle
包含一个引号(例如SomeSongTitle=don't
)时,它会崩溃。怎么解决呢?
谢谢你们的阅读,希望能听到你们的解决方案。
最佳答案
要修复它,您需要用两个单引号替换单引号。尝试使用类似于…
SomeSongTitle = SomeSongTitle.replace("'", "''");