Как определить свою функцию для SQLite в Lazaruse

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Как определить свою функцию для SQLite в Lazaruse

Сообщение Putnick » 10.09.2013 14:48:06

Добрый день.
Суть проблемы:
Делаю запрос вида
Код: Выделить всё
SELECT * FROM Table WHERE LOWER(field1)=<введенная мною строка, преобразованная к нижнему регистру>

если моя строка на английском - всё отлично: выберется и "Value" и "VAlUE" и т.д.
а вот, если строка на русском - извините: "значение" - да, а вот "ЗНАЧЕНИЕ" - уже нет.
Как я понял, sqlite LOWER не работает с UTF8, и нужно её переопределять.

Собственно вопрос, как это сделать? Особенно с учётом того, что в программе уже есть куча Query, Transaction, Connection.
Заранее благодарю за советы.
Putnick
новенький
 
Сообщения: 62
Зарегистрирован: 18.03.2009 13:02:56

Re: Как определить свою функцию для SQLite в Lazaruse

Сообщение Padre_Mortius » 10.09.2013 21:14:01

Putnick, а в какой кодировке у вас хранятся данные в базе?
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Как определить свою функцию для SQLite в Lazaruse

Сообщение Putnick » 10.09.2013 21:51:35

Padre_Mortius писал(а):Putnick, а в какой кодировке у вас хранятся данные в базе?
UTF-8.
Сейчас использую "костыль": считываю все данные без без условий, а потом в цикле выбираю нужные мне. Поскольку пока БД мелкая - оно, вроде, и ничего. С ужасом думаю о будущем :D .
Putnick
новенький
 
Сообщения: 62
Зарегистрирован: 18.03.2009 13:02:56


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru