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

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

игнорирование регистра в запросе [D7, InterBase 1.0.1.340]


Страницы:   1 2 3

kubatura ©   (2007-05-17 15:58:00) 

в наличии имеется:
DataModule2.IBQuery1.SQL.Add('select * from FL');
DataModule2.IBQuery1.SQL.Add('where FAM_FL like :fam and NAME_FL like :nam and OTCH_FL like :otc');
и БД где в столбцах FAM_FL NAME_FL OTCH_FL встречаются значения полей содержащие символы разных регистров...

каким образом можно игнорировать регистр при поиске нужных значений???

Заранее премного благодарен!


Jan1   (2007-05-17 16:47:00) [41]


> пробелы тут непричем... когда в том же самом регистре как
> в базе забито ищешь все находит... чуть хоть одной буквы
> регистр сменил и всё... не находит ничего...

читал?
http://www.ibase.ru/devinfo/ibrusfaq.htm


kubatura   (2007-05-17 16:45:00) [42]

Val ©   (17.05.07 16:38) [16]

Юзаю:

IBDatabase
IBTransaction
IBQuery

подключаюсь не через сервер ИБ а напрямую к GDB файлу...

пробелы тут непричем... когда в том же самом регистре как в базе забито ищешь все находит... чуть хоть одной буквы регистр сменил и всё... не находит ничего...


Val   (2007-05-17 16:39:00) [43]

кроме того, неплохо бы и пробельчики посечь.


Val   (2007-05-17 16:38:00) [44]

1. я имел ввиду проблемы сервера с кириллицей. с латиницей - проблемы есть?
2. зачем "поднимать" параметры на клиенте, а поле в запросе?


kubatura   (2007-05-17 16:36:00) [45]

Sergey13 ©   (17.05.07 16:30) [14]

пробовал уже... не работает :-(((


Sergey13   (2007-05-17 16:30:00) [46]

> [11] kubatura ©   (17.05.07 16:27)

Буквы русские? Тогда UpperCase не подойдет. Надо ANSIUpperCase.


kubatura   (2007-05-17 16:30:00) [47]

fam := AnsiUpperCase(Form1.LabeledEdit28.Text);
nam := AnsiUpperCase(Form1.LabeledEdit29.Text);
otc := AnsiUpperCase(Form1.LabeledEdit30.Text);

тоже пробовал... не пашет...


Val   (2007-05-17 16:29:00) [48]

а не в кириллице ли заковыка?


kubatura   (2007-05-17 16:27:00) [49]

fam := UpperCase(Form1.LabeledEdit28.Text);
nam := UpperCase(Form1.LabeledEdit29.Text);
otc := UpperCase(Form1.LabeledEdit30.Text);

DataModule2.IBQuery1.SQL.Add('where upper(FAM_FL) like :fam and upper(NAME_FL) like :nam and upper(OTCH_FL) like :otc');
DataModule2.IBQuery1.Prepare;
DataModule2.IBQuery1.Params[0].AsString := fam;
DataModule2.IBQuery1.Params[1].AsString := nam;
DataModule2.IBQuery1.Params[2].AsString := otc;

один фиг не пашет :-(((


Sergey13   (2007-05-17 16:25:00) [50]

> [6] kubatura ©   (17.05.07 16:19)

where upper(FAM_FL) like :fam

Параметру ессно тоже предавать "верхнее" значение.


Val   (2007-05-17 16:24:00) [51]

шариков, из собачьего сердца. о радикальных методах.
смотри - тебе надо маленькие буковки с большими сравнить - как сделать, чтобы была пофиг их высота? уровнять.


kubatura   (2007-05-17 16:21:00) [52]

??????


Val   (2007-05-17 16:20:00) [53]

все взять и поделить.


kubatura   (2007-05-17 16:19:00) [54]

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


Sergey13   (2007-05-17 16:16:00) [55]

> [3] kubatura ©   (17.05.07 16:08)

> где в столбцах FAM_FL NAME_FL OTCH_FL встречаются значения
> полей содержащие символы разных регистров

> FAM_FL like upper(:fam)

Встречаются в "столбцах" а выравниваешь параметр. Почему?


Jan1   (2007-05-17 16:10:00) [56]


> ошибку выдает....

ошибка три точки называется?


kubatura   (2007-05-17 16:08:00) [57]

пробовал менять на
DataModule2.IBQuery1.SQL.Add('where FAM_FL like upper(:fam) and NAME_FL like upper(:nam) and OTCH_FL like upper(:otc)');

ошибку выдает....

> InterBase 1.0.1.340

Что за зверь?-стандартный на диске с D7 шел...


Sergey13   (2007-05-17 16:00:00) [58]

> InterBase 1.0.1.340

Что за зверь?

> каким образом можно игнорировать регистр при поиске нужных значений???
Так приведи их к одному регисту. Например upper.


Val   (2007-05-17 16:00:00) [59]

см. серверные функции приведения строковых сначений к верхнему либо нижнему регистру.


Страницы:   1 2 3

Наверх

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