Android SQLLiteHelper类中的LIKE运算符存在问题

Android SQLLiteHelper类中的LIKE运算符存在问题,android,sqlite,sql-like,Android,Sqlite,Sql Like,我使用SQLLiteHelper类在android中进行数据库调用。我有下面的代码,基本上我是在试图找到旧注释的任何实例,并替换为新注释。如果在LIKE之后删除单引号,则会收到此消息 (1) near "%": syntax error (1) 靠近“%”:语法错误 如果我保留单引号,那么我会得到以下消息。不知道我做错了什么 Too many bind arguments. 2 arguments were provided but the statement needs 1 argument

我使用SQLLiteHelper类在android中进行数据库调用。我有下面的代码,基本上我是在试图找到旧注释的任何实例,并替换为新注释。如果在LIKE之后删除单引号,则会收到此消息

(1) near "%": syntax error (1) 靠近“%”:语法错误 如果我保留单引号,那么我会得到以下消息。不知道我做错了什么

Too many bind arguments. 2 arguments were provided but the statement needs 1 arguments. 绑定参数太多。提供了2个参数,但语句需要1个参数。 public int updateComment(字符串oldcoment,字符串newComment) { ContentValues=新的ContentValues(); value.put(CommentEntry.COLUMN\u NAME\u COMMENT,newComment); 字符串选择=CommentEntry.COLUMN_NAME_COMMENT+“类似“%”?%”; String[]selectionArgs=新字符串[]{oldcoment}; int count=database.update(CommentEntry.TABLE_名称、值、选择、selectionArgs); 返回计数;
} 我确实发现了2013年的错误报告,可能与以下内容有关:。如果这是一个问题,在这里,您可以绕过
update()
,直接运行查询,而无需使用方便的方法

同时,您的查询存在语法问题。用
LIKE
子句绑定值很棘手。引号中的
只是一个文字问号

WHERE foo LIKE '%?%'
以上只是搜索任何包含问号的
foo

WHERE foo LIKE ?
上面允许您将通配符作为bind参数的一部分传入:
%sometext%

不过我觉得这有点难看。如果我们知道我们总是使用通配符进行搜索,我希望使用:


顺便说一句,我希望你能意识到这一点。

我确实找到了一份2013年的bug报告,可能与此相关:。如果这是一个问题,在这里,您可以绕过
update()
,直接运行查询,而无需使用方便的方法

同时,您的查询存在语法问题。用
LIKE
子句绑定值很棘手。引号中的
只是一个文字问号

WHERE foo LIKE '%?%'
以上只是搜索任何包含问号的
foo

WHERE foo LIKE ?
上面允许您将通配符作为bind参数的一部分传入:
%sometext%

不过我觉得这有点难看。如果我们知道我们总是使用通配符进行搜索,我希望使用:


顺便说一句,我希望你能意识到这一点。

我确实找到了一份2013年的bug报告,可能与此相关:。如果这是一个问题,在这里,您可以绕过
update()
,直接运行查询,而无需使用方便的方法

同时,您的查询存在语法问题。用
LIKE
子句绑定值很棘手。引号中的
只是一个文字问号

WHERE foo LIKE '%?%'
以上只是搜索任何包含问号的
foo

WHERE foo LIKE ?
上面允许您将通配符作为bind参数的一部分传入:
%sometext%

不过我觉得这有点难看。如果我们知道我们总是使用通配符进行搜索,我希望使用:


顺便说一句,我希望你能意识到这一点。

我确实找到了一份2013年的bug报告,可能与此相关:。如果这是一个问题,在这里,您可以绕过
update()
,直接运行查询,而无需使用方便的方法

同时,您的查询存在语法问题。用
LIKE
子句绑定值很棘手。引号中的
只是一个文字问号

WHERE foo LIKE '%?%'
以上只是搜索任何包含问号的
foo

WHERE foo LIKE ?
上面允许您将通配符作为bind参数的一部分传入:
%sometext%

不过我觉得这有点难看。如果我们知道我们总是使用通配符进行搜索,我希望使用:


顺便说一句,我希望你能意识到这一点。

谢谢@rutter,这真的很有帮助。的确,这真的很棘手。谢谢@rutter,这真的很有帮助。的确,这真的很棘手。谢谢@rutter,这真的很有帮助。的确,这真的很棘手。谢谢@rutter,这真的很有帮助。事实上,这真的很棘手。