У меня есть приложение для Android, которое должно заменить родные контакты Android.Как сортировать по имени и фамилии в строке поиска - Sqlite
Я хочу добавить пользователю возможность поиска пользователя на основе ограничения характера.
Например:
это мои контакты таблица:
id firstName lastName
1. Smith Jean
2. allen carr
3. zetter
4. john Stewart
5. Smith Allen
6. Smith Davey
7. Smitten
8. barney saltzberg
Если пользователь вводит символ 's'
, я хочу дать ему все контакты statrting с «s» в их имени ИЛИ фамилию, отсортированную по первому имени, а затем фамилию. Из таблицы до того, как результат я хочу получить это:
id firstName lastName
1. Smith Allen
2. Smith Davey
3. Smith Jean
4. barney saltzberg
4. Smitten
5. john Stewart
UPDATE: Проблема заключается в том, когда первое имя равно NULL, сортировка не работает, и строка показала, прежде чем он должен. Я пробовал ответ marcin, и это дает мне неправильный результат.
Я попробовал следующее:
выбора String = PeopleDataBase.COLUMN_FIRST_NAME + "LIKE«" + ограничение + "% 'или "+ PeopleDataBase.COLUMN_LAST_NAME +" LIKE'" + ограничение +«%» «;
Курсор cur = db.query (PeopleDataBase.TABLE_PEOPLE, null, selection, null, null, null, null);
Я думал, что для достижения этой цели с помощью двух различных запросов, по одному для имени и один для фамилии, а затем объединить их в один курсор, но я уверен, что есть лучшее решение.
ОБНОВЛЕНИЕ: Я также попытался сортировать следующим образом без успеха.
Cursor cur = db.query(PeopleDataBase.TABLE_PEOPLE, null, selection, null, null, null, PeopleDataBase.COLUMN_FIRST_NAME + "," + PeopleDataBase.COLUMN_LAST_NAME);
У вас есть лучшее решение?
Привет всем, ответы еще не помогли мне. Я думаю, что я сделаю это с трудом, два разных вопроса, а затем объединить ответы. –