如何使用android中的特殊字符进行搜索

时间:2011-11-29 05:35:08

标签: java android sqlite

我有一个使用数据库的应用程序,其中组织列具有带特殊字符的记录(单引号)。在使用文本字段中的特殊字符进行搜索时,我收到强制关闭错误。

代码如下:

    String name = idValues.getStringExtra("ORGNAME");
   String sql ="select orgname from table1 where name like '%"+ name +"%'  Order by org.name";

请帮我使用包含特殊字符的名称进行搜索的示例代码/链接。

提前致谢。

2 个答案:

答案 0 :(得分:2)

String name = idValues.getStringExtra("ORGNAME");    

if (name.contains("'")) {
   // Should replace all the charecters
   name = name.replaceAll("'", "''");
}

String sql ="select orgname from table1 where name like '%"+ name +"%'  Order by org.name"; 

替换字符串中的单引号('),如图所示。请试试这个。

答案 1 :(得分:1)

尝试使用PreparedStatement,如下所示:

PreparedStatement pstmt = null;
String sql ="select orgname from table1 where name like ? Order by orgname";
pstmt.setString(1,"%"+name+"%");
ResultSet rs = pstmt.executeQuery();

没有进行错误检查。