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

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

Проблема поиска [D6, IB6.x]


Фагот ©   (2003-11-27 10:46:00) 

Работает только поиск с учётом регистра. В чём ошибка (кроме ДНК)?
CREATE TABLE MAIN (
AI INTEGER NOT NULL,
NUMZ INTEGER,
DATAZ DATE,
SHORTN VARCHAR(255) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
FULLN BLOB SUB_TYPE 1 SEGMENT SIZE 500,
DATAD DATE,
NUMD VARCHAR(10) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
SOURCED VARCHAR(255) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
HISTORY BLOB SUB_TYPE 1 SEGMENT SIZE 500,
PATH VARCHAR(255) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
WORKZ VARCHAR(20) CHARACTER SET WIN1251 COLLATE PXW_CYRL
);


Zacho   (2003-11-27 12:53:00) [1]


> Фагот © (27.11.03 12:32) [16]

И все-таки прочитай внимательно http://www.ibase.ru/devinfo/ibrusfaq.htm- там все это подробно описано. Вдруг у тебя и другие проблемы с кодировками появяться.


Фагот   (2003-11-27 12:32:00) [2]

Тема закрыта. Спасибо Vladу - всё поехало.

> Alex_Bredin

Всё там нормально - карычки нужны. По поводу form - конечно, это просто описка.


Alex_Bredin   (2003-11-27 12:13:00) [3]

и двойные кавычки вроде там не нужны


Alex_Bredin   (2003-11-27 12:11:00) [4]

а если FROM вместо FORM


Кщд   (2003-11-27 12:03:00) [5]

а через параметр?


Vlad   (2003-11-27 12:01:00) [6]

а так ?
SELECT * form Table WHERE UPPER(SHORTN collate pxw_cyrl
) LIKE (""%"+AnsiUPPERCase(Edit1.Text)+"%"")


Фагот   (2003-11-27 11:58:00) [7]

Простите великодушно, но нижеследующий запрос ничего не возвращает
SELECT * form Table WHERE UPPER (SHORTN) LIKE (""%"+AnsiUPPERCase(Edit1.Text)+"%"")


Фагот   (2003-11-27 11:28:00) [8]

Значит мне нужно обязательно указывать COLLATE Win1251?


Zacho   (2003-11-27 11:12:00) [9]


> Фагот © (27.11.03 11:08) [8]

COLLATE нужен как раз для того, что бы IB смог корректно привести русские символы к верхнему/нижнему регистру. См. http://www.ibase.ru/devinfo/ibrusfaq.htm


Фагот   (2003-11-27 11:08:00) [10]

Но тогда зачем указывать COLLATE?


Vlad   (2003-11-27 11:05:00) [11]

При поиске преобразовывать искомое значение и значение в поле к одному и тому же регистру.


Фагот   (2003-11-27 11:02:00) [12]

Простите, но я немного не понял - что значит, к одному знаменателю? Вносить все записи только большими буквами? Это несерьёзно... Тем более, что поиск должен работать окромя blob-полей...


Alex_Bredin   (2003-11-27 11:01:00) [13]

UPPER\LOWER


Anatoly Podgoretsky   (2003-11-27 10:59:00) [14]

Надо привести к одному знаменателю


Vlad   (2003-11-27 10:59:00) [15]

А должно находить ?


Фагот   (2003-11-27 10:58:00) [16]

Ищу по варчарным полям через LIKE. Типа Where ShortN LIKE "%вас%". "вас" находит, а "Вас" нет :-(((


HSolo   (2003-11-27 10:55:00) [17]

А как ищете?


Наверх

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