Запрос к БД по первым символам
-
iamtihonov
- Сообщения: 41
- Зарегистрирован: 20 сен 2012, 12:57
Запрос к БД по первым символам
Подскажите пожалуйста как мне нужно написать запрос, что бы получить данные начинающиеся на определенную букву?
Re: Запрос к БД по первым символам
ай-яй-яй ... http://www.sqlite.org/lang_expr.html
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
iamtihonov
- Сообщения: 41
- Зарегистрирован: 20 сен 2012, 12:57
Re: Запрос к БД по первым символам
спасибо)
-
iamtihonov
- Сообщения: 41
- Зарегистрирован: 20 сен 2012, 12:57
Re: Запрос к БД по первым символам
Подскажите, что я не так делаю? Пытался сделать запрос вот так, вот такая последняя версия
String sql = "SELECT * FROM " + WORLD_TIME_TABLE_NAME + " WHERE " + WORLD_TIME_COLUMN_REGION_RU + " LIKE = '?%'";
return mDB.rawQuery(sql, new String[]{name});
String sql = "SELECT * FROM " + WORLD_TIME_TABLE_NAME + " WHERE " + WORLD_TIME_COLUMN_REGION_RU + " LIKE = '?%'";
return mDB.rawQuery(sql, new String[]{name});
-
iamtihonov
- Сообщения: 41
- Зарегистрирован: 20 сен 2012, 12:57
Re: Запрос к БД по первым символам
Ура заработало! Странно что когда я name заносил в стринг не работало, а вот так без проблем
String sql2 = "SELECT * FROM " + WORLD_TIME_TABLE_NAME + " WHERE " + WORLD_TIME_COLUMN_REGION_RU + " LIKE '" + name + "%'";
return mDB.rawQuery(sql2, null);
Было бы хорошо ещё без учета регистра как то сделать это
String sql2 = "SELECT * FROM " + WORLD_TIME_TABLE_NAME + " WHERE " + WORLD_TIME_COLUMN_REGION_RU + " LIKE '" + name + "%'";
return mDB.rawQuery(sql2, null);
Было бы хорошо ещё без учета регистра как то сделать это
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Запрос к БД по первым символам
Ваш код уязвим для SQL инъекций. Для строковых значений лучше использовать параметры.iamtihonov писал(а):Ура заработало! Странно что когда я name заносил в стринг не работало, а вот так без проблем
String sql2 = "SELECT * FROM " + WORLD_TIME_TABLE_NAME + " WHERE " + WORLD_TIME_COLUMN_REGION_RU + " LIKE '" + name + "%'";
return mDB.rawQuery(sql2, null);
Так, кажется, должно работать.
Код: Выделить всё
String sql = "SELECT * FROM " + WORLD_TIME_TABLE_NAME + " WHERE " + WORLD_TIME_COLUMN_REGION_RU + " LIKE ?";
return mDB.rawQuery(sql, new String[]{name + "%"});R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
-
iamtihonov
- Сообщения: 41
- Зарегистрирован: 20 сен 2012, 12:57
Re: Запрос к БД по первым символам
Спасибо приму к сведению!