Как искать с помощью специальных символов в Android - PullRequest
1 голос
/ 29 ноября 2011

У меня есть одно приложение, работающее с базой данных, в которой столбец организации содержит записи со специальными символами (одинарные кавычки).Я получаю сообщение об ошибке принудительного закрытия при поиске со специальным символом в текстовом поле.

Код ниже:

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

Пожалуйста, помогите мне с примером кода / ссылками для поиска по именисодержащий специальный символ.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 29 ноября 2011
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 голос
/ 29 ноября 2011

Попробуйте использовать PreparedStatement так:

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

Проверка ошибок не выполнена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...