Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
5 / 5 / 0
Регистрация: 16.01.2013
Сообщений: 16
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте! Мне нужно добавить возможность выборки из базы данных sqlite по русским буквам (содержащие известнрую проблему с like и uppercase). Делаю все по этой статье http://habrahabr.ru/post/122408/
Получаю откомпилированный файл libandroid_sqlite.so
Далее у автора так все расплывчато написано, я не пойму как его использовать.
Кто в курсе темы, пожалуйста, помогите..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2013, 00:04
Ответы с готовыми решениями:

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

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

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

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

3
4 / 4 / 1
Регистрация: 20.02.2015
Сообщений: 24
20.06.2016, 20:55 2
Приведу пример решения на C#. Сразу скажу, что такой подход снижает производительность (http://dev.net.ua/blogs/def198... mance.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
100 / 79 / 9
Регистрация: 03.08.2014
Сообщений: 447
20.06.2016, 23:39 3
Мой вариант, возможно, слишком груб, но работает исправно. В таблице я делаю еще один столбец, куда заносится дубль столбца для поиска с кириллицей, но текст написан в uppercase. Поиск веду по этому столбцу, преобразовав запрос в uppercase. Вывод, естественно, из исходного столбца.
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
21.06.2016, 12:25 4
Alexvp, собственно, это самое простое и распространённое решение. Правда, размер базы существенно увеличивается. И лучше lowercase, чтобы читать было приятнее. Давно прошли времена печатных машинок с большими буквами, а народ до сих пор лепит uppercase.
0
21.06.2016, 12:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2016, 12:25
Помогаю со студенческими работами здесь

Нужно исправить ошибки и изменить английские буквы на русские
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <Windows.h>...

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru