Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Kris_1
5 / 5 / 0
Регистрация: 16.01.2013
Сообщений: 16
#1

Нужно сделать регистронезависимый поиск по таблице, содержащей русские буквы

17.01.2013, 00:04. Просмотров 999. Ответов 3
Метки нет (Все метки)

Здравствуйте! Мне нужно добавить возможность выборки из базы данных sqlite по русским буквам (содержащие известнрую проблему с like и uppercase). Делаю все по этой статье http://habrahabr.ru/post/122408/
Получаю откомпилированный файл libandroid_sqlite.so
Далее у автора так все расплывчато написано, я не пойму как его использовать.
Кто в курсе темы, пожалуйста, помогите..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 00:04
Ответы с готовыми решениями:

Вывести все русские строчные буквы в порядке следования их кодов в таблице ASCII
вывести все русские строчные буквы в порядке следования их кодов в таблице ASCII

Поиск в selecte - русские буквы
В IE есть встроенный поиск по певой букве в поле select. Но вот с русскими...

Поиск строки, содержащей наибольшее количество слов, начинающихся с гласной буквы
помогите с алгоритмом. а то я что то никак не въеду как делать

поиск на русские буквы выдает аброкадабру
Уважаемые web-дизайнеры, у меня такая проблема, я нашла как сделать форму, как...

Нужно, чтобы проверяло, если ли русские буквы в строке
В строке должны быть буквы английского алфавита, цифры и пробелы. И если буква...

3
Razor23Donetsk
4 / 4 / 1
Регистрация: 20.02.2015
Сообщений: 24
20.06.2016, 20:55 #2
Приведу пример решения на C#. Сразу скажу, что такой подход снижает производительность (http://dev.net.ua/blogs/def1983/page...rformance.aspx), но у меня с ним проблем пока не возникало, и работает всё именно так как и должно.
Для этого я использовал Пользовательскую Функцию (User-Defined Function) и создал вот такой класс :
C#
1
2
3
4
5
6
7
8
9
    [SQLiteFunction(Arguments = 1, FuncType = FunctionType.Scalar, Name = "ToUpper")]
    class UpperCaseConverter : SQLiteFunction
    {
        public override object Invoke(object[] args)
        {
            string initialString = (args[0] as string); //получаем исходную строку.
            return (initialString != null) ? initialString.ToUpper() : null; //Если строка != null, переводим в верхний регистр.
        }//Invoke
    }//UpperCaseConverter
Далее один раз за время работы программы надо зарегистрировать функцию (естественно до исп-ния ф-ции в коде) :
C#
1
2
3
4
5
6
7
            //Создаём подключение.
            using (SQLiteConnection connection = new SQLiteConnection(connectionString))
            {
                connection.Open(); //открываем подключение
                SQLiteFunction.RegisterFunction(typeof(UpperCaseConverter)); //регистрируем udf. 
                connection.Close(); //закрываем подключение
            }//using
Использование в коде:
C#
1
string query = "SELECT ToUpper(Column1) FROM Table;"
0
Alexvp
111 / 75 / 8
Регистрация: 03.08.2014
Сообщений: 390
20.06.2016, 23:39 #3
Мой вариант, возможно, слишком груб, но работает исправно. В таблице я делаю еще один столбец, куда заносится дубль столбца для поиска с кириллицей, но текст написан в uppercase. Поиск веду по этому столбцу, преобразовав запрос в uppercase. Вывод, естественно, из исходного столбца.
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
21.06.2016, 12:25 #4
Alexvp, собственно, это самое простое и распространённое решение. Правда, размер базы существенно увеличивается. И лучше lowercase, чтобы читать было приятнее. Давно прошли времена печатных машинок с большими буквами, а народ до сих пор лепит uppercase.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2016, 12:25

Регистронезависимый поиск
Сделал поиск, написал элементарную регулярку. Регистр все равно учитывается. в...

Регистронезависимый поиск
привет всем, купил я скрипт oxyclassifieds 7.08 Столкнулся с такой...

Выполнить регистронезависимый поиск
как выполнять поиск в файле, чтобы не было зависимости от регистра введенных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru