使用ContactsContract.Contacts.CONTENT_URI读取联系人时出现问题

时间:2011-09-28 06:59:38

标签: android

我需要从ma联系人中搜索特定名称...因为我给出了像这样的选择标准

ContactsContract.Contacts.DISPLAY_NAME + " LIKE '"+constraint+"%'"

但是对于撇号(')......意味着......当我将撇号作为约束时,会抛出( SQL错误)异常..对于所有其他特殊情况字符,搜索工作..

我们如何在搜索条件中处理约束撇号(')... .. boz我们可以在其中设置撇号的联系人姓名(例如: Jennifer'lo'pe_z)

1 个答案:

答案 0 :(得分:2)

如何使用包含嵌入式单引号(')字符的字符串文字?

SQL标准指定通过在行中放入两个单引号来转义字符串中的单引号。 SQL就像Pascal编程语言一样。 SQLite遵循这个标准。

示例:

INSERT INTO xyz VALUES('5 O''clock');

因此,仅仅为了您的解决方案,请使用''代替'。喜欢

if(constraint.contains("'")) 
            constraint = constraint.replace("'", "''");

然后执行您的查询。这必须帮助你。

快乐编码:)