gpt4 book ai didi

java - 带有 LIKE 语句的 SQL 中的 Android 单引号

转载 作者:太空狗 更新时间:2023-10-29 15:49:00 25 4
gpt4 key购买 nike

我在使用 sql LIKE 语句时查询单引号时遇到问题

这是我在 SD 卡中搜索 MUSIC 文件的 SQL 查询。

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)时,它会崩溃。

如何解决?

感谢z阅读并希望听到你们的一些解决方案=D。呵呵

最佳答案

如果您不想进行字符串替换,您可以使用 SQLiteDatabase.rawQuery获取您的 Cursor 对象。然后做类似的事情:

String query = "select * from your_table_name where" + MediaStore.Audio.Media.TITLE + " like ('%?%')";
cursor = yourDB.rawQuery(query, new String[] {SomeSongTitle});

这应该可以解决引用问题。

关于java - 带有 LIKE 语句的 SQL 中的 Android 单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6146365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com