Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как искать в базе без учета регистра букв?


Страницы:   1 2

Piter ©   (2004-06-22 21:11:00) 

А то like ищет только при полном совпадении...


Piter   (2004-06-23 14:47:00) [1]

А что делать, если мне надо искать в Blob русские фразы без учета регистра?


Piter   (2004-06-23 14:19:00) [2]

Danilka (23.06.04 12:56) [29]

спасибо большое! У меня не было поддиректории intl :( Теперь все ок!


Danilka   (2004-06-23 12:56:00) [3]

[28] Piter ©   (23.06.04 12:34)
в архиве с FB embedded есть папка doc, в ней файл README_embedded.txt, почитай его.
У меня тоже получилось сделать так, перестали быть доступны кодировки: после того, как я удалил каталог intl содержащий файл fbintl.dll.


Piter   (2004-06-23 12:34:00) [4]

Danilka (23.06.04 12:14) [27]

ну не знаю... у меня FB EMBD ни в какую не воспринимает WIN1251 кодировку... не знает он ее и все...


Danilka   (2004-06-23 12:14:00) [5]

[26] Piter ©   (23.06.04 12:03)
для этого достаточно просто остановить сервер, что я и сделал, после чего, у меня базы перестали быть доступны через gds32.dll писал ошибку.


Piter   (2004-06-23 12:03:00) [6]

max1000 (23.06.04 11:34) [23]

у тебя именно Firebird Embedded?

Danilka (23.06.04 11:38) [24]

а ты можешь попробовать деинсталлировать firebird вообще и удалить файл gds32.dll в директории с Windows? Чтобы программа точно пользовалась FB EMBD библиотекой... может, у тебя все работает, потому что все таки соединение через сервер идет...


Piter   (2004-06-23 12:00:00) [7]

Danilka (23.06.04 11:38) [24]

дело в том, что не понимает FB EMBD кодировок. Ты уверен, что через DLL нужную работаешь? Через embedded?!

Потому что как я писал в Piter ©   (23.06.04 11:31) [22] у меня через EMBD даже нельзя создать таблицу с полем, указав CHARACTER SET! (только который по умолчанию)
А если таблицу все таки создать через полноценный FB , то EMBD все равно с этой таблицей работать не может. Когда в IBDatabase прописываешь lc_ctype=WIN1251, то он при старте уже пишет:
"bad parameters on attach or create database
CHARACTER SET WIN1251 is not defined"


Danilka   (2004-06-23 11:38:00) [8]

[22] Piter ©   (23.06.04 11:31)
Я не знаю в чем у тебя проблема, т.к. давно очень работал с FB и мало, а с Embedded только сейчас первый раз поробовал, и у меня все ок. Спроси у кого-нибудь еще, например, у Johnmen. :))


max1000   (2004-06-23 11:34:00) [9]

Я попробывал вот так
SELECT * FROM schet Where UPPER(name) like '%МАРТИНЕНКО%'
Все заработало и без OLLATE PXW_CYRL


Piter   (2004-06-23 11:31:00) [10]

Danilka (23.06.04 11:23) [21]

блин, а у меня не получается создать с WIN_1251... вот что пишет:

"Unsuccessful metadata update
TEST
Statement: create table Test (n varchar(10) CHARACTER SET WIN1251 NOT NULL)"


Danilka   (2004-06-23 11:23:00) [11]

[19] Piter ©   (23.06.04 11:12)
WIN1251, и поля varchar такие-же.
но это не важно для COLLATE PXW_CYRL, он-же отработал без ошибки.
вобщем, либо ты что-то не так делаешь, либо у тебя какая-нибудь глючная демка FB.


> ну а это как возможно?

например, так:

CREATE TABLE GOODS2 (
...
   GOODS_NAME    VARCHAR(100) CHARACTER SET WIN1251 NOT NULL,
...
);

а вообще, по-моему, все это в хелпе есть. правда, я давно с FB не работал.


Piter   (2004-06-23 11:15:00) [12]

Danilka (23.06.04 11:06) [18]
select * from goods
where upper(goods_name) like 'СТАР%'

у меня тоже отрабатывает как положеное, в т.ч. и с русскими буковками


ну а это как возможно? Ты когда таблицы создавал COLLATE указывал?


Piter   (2004-06-23 11:12:00) [13]

Johnmen (23.06.04 10:53) [16]
Это твоя мнительность тебе сказала...


угу. У тебя в данной ветке ни одного сообщения по делу... давай не будет продолжать?

Danilka (23.06.04 11:06) [18]

а при создании базы ты DEFAUL CHARSET какой указывал?


Danilka   (2004-06-23 11:06:00) [14]

[15] Piter ©   (23.06.04 10:46)
Специально после этого твоего поста запустил FB1.5 сервер, запустил IB Expert, проверил вот-такой запрос:

select * from goods
where upper(goods_name COLLATE PXW_CYRL) like 'СТАР%'

работает так как и должен.
Затем тормознул сервер, в каталог с экспертом перелил фалы от FB Embedded 1.5, зарегистрировал в эксперте ту-же базу, но в качастве клиентской библиотеки выбрал не gds32.dll, а fbembed.dll с полным путем до него, подконнектился к этой БД опять запустил этот-же запрос - все работает.
К слову, вот-такой запрос:

select * from goods
where upper(goods_name) like 'СТАР%'

у меня тоже отрабатывает как положеное, в т.ч. и с русскими буковками. :))


Vlad   (2004-06-23 10:55:00) [15]

попробуй так

select * from telephones where UPPER(name COLLATE WIN1251) like _WIN1251 '%ЗНАЧЕНИЕ%'


Johnmen   (2004-06-23 10:53:00) [16]

>Piter ©   (23.06.04 10:46) [15]
>не надо издеваться. Даже звание мастера не разрешает тебе это
>делать. Ок? Давай или по делу или никак.

Хм... Это твоя мнительность тебе сказала...
:)


Piter   (2004-06-23 10:46:00) [17]

Danilka (23.06.04 10:33) [13]
Расскажи, плиз, как это может повлиять на COLLATE, очень интересно. :))


Вот запрос SELECT * FROM Table1 Where UPPER(Field1 COLLATE PXW_CYRL) like ''%'+ТЕСТ+'%'''

Итог:
"SQL error code = -204
Data type unknow
Invalid use of CHARACTER SET or COLLATE'. Process stopped..."

Johnmen (23.06.04 10:34) [14]

не надо издеваться. Даже звание мастера не разрешает тебе это делать. Ок? Давай или по делу или никак.


Johnmen   (2004-06-23 10:34:00) [18]

>Piter ©   (23.06.04 10:32) [12]
>может, поделишься знаниями?

Поделюсь. Какими ?

>Я смотрю ты все знаешь,...

А разве это возможно ? :)))


Danilka   (2004-06-23 10:33:00) [19]

[9] Piter ©   (23.06.04 10:27)
> ты знаешь, что такое Embedded?

Думаю, что знаю. :))
Расскажи, плиз, как это может повлиять на COLLATE, очень интересно. :))


Piter   (2004-06-23 10:32:00) [20]

Johnmen (23.06.04 10:27) [10]

Я смотрю ты все знаешь, но не говоришь... может, поделишься знаниями?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо