当前位置: 首页 > 面试题库 >

带有LIKE StateMent的SQL中的Android单引号

马琛
2023-03-14
问题内容

我在使用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)时会崩溃。

以及如何解决?

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


问题答案:

要解决此问题,您需要将单引号替换为两个单引号。尝试使用类似…

SomeSongTitle = SomeSongTitle.replace("'", "''");


 类似资料:
  • 问题内容: SQL中的单引号和双引号有什么区别? 问题答案: 单引号用于指示SQL中字符串的开头和结尾。在SQL中通常不使用双引号,但每个数据库的双引号可能会有所不同。 坚持使用单引号。 无论如何,这是主要用途。您可以为列别名使用单引号- 您希望在应用程序代码中引用的列名可以是数据库中实际未调用的列名。例如:的可读性更高,因此您可以使用以下两种方式之一: 两者都可以在Oracle,SQL Serv

  • 问题内容: 我有一个要在Java中运行的查询: 它可以让我的应用程序连接并使用与论坛相同的用户名/密码。 它的工作,但当包含字符时会给出错误: 我将如何用Java编写此查询来满足’(如果存在)而不是(如果不存在)? 问候。 问题答案: 如果我遵循您的问题,那么您可以使用类似的方法- 另一种可能的解决方案是在Java中执行哈希和盐运算- 最后,我不会在2014年使用MD5。我更喜欢SHA-256。

  • 我正在寻找android设备的MDM解决方案。我的主要目标是将GooglePlay的应用程序推入公司旗下的android设备,最好是不提示用户。在过去的几周里,我一直在使用iOS设备,并使用APN实现了MDM解决方案。其中服务器向设备发送唤醒命令,然后配置文件查找MDM server并执行指定的命令(如应用程序安装)。我发现CCS和APN不太同步。我走的路对吗? 在浏览网页时,我在这个网站上看到了

  • 问题内容: 我有一个将文本字段中的值发送到数据库的应用程序。 例如,我有一个带有一个字段的表单(文本框)。当我按“确定”按钮时,文本字段的内容将作为记录插入到表中。我只是修剪并将文本框的文本提取到变量中,然后将其传递给我的SQL字符串。 问题是,无论何时像“ It’s”或“ Friend’s”之类的单引号都被标识为字符串的结尾。在Delphi中,我看到了避免这种情况的方法。您有什么想法吗? 问题答

  • 我正在按照书中的一个示例的步骤进行操作,在使用模拟器进行调试时,我遇到了几个错误: null 相关的Java文件是(tasklistfragment.java): null null 和我的XML布局(activity_task_list.XML): null null 错误中提到的第15行在xml in 我是Android的初学者,我不知道如何修复它。 谁能告诉我怎么了? 谢谢 还有另一个类(T

  • 问题内容: 我有以下SQL代码(这是到目前为止我得到了多少): 以下是VIEW_1的定义: 但是我收到以下错误消息: 是什么导致错误?在哪里更改代码以使其起作用? 感谢您的帮助! 问题答案: 以我的经验,不仅在USING子句为MATCH表中的一行返回一行以上时,而且在无法 确定 仅返回一行(即使没有实际的行)时,也会返回此错误。返回多行的情况)。为了在这种情况下强制解析器接受查询,我通常会在MAT