在使用类似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("'", "''");

10-08 01:37