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

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

LIKE в ADOQuery без учёта регистра [D6, dBase, FoxPro]


RDen ©   (2009-10-15 10:33:00) 

Здравствуйте! Как организовать поиск по таблице, без учёта регистра?

ADOQuery1.SQL.Add('Select * from Table1 where Table1.FIO LIKE :P2');
ADOQuery1.Parameters.ParamByName('P2').Value := '%' + Edit1.Text + '%';

так регистр учитывается (найдётся иванов, но не найдётся ИвАнОв)...

зы. в TQuery допускалось ...Upper(Table1.FIO) LIKE....


RDen   (2009-10-15 13:10:00) [1]

блин, совсем затупил....извините - вроде нормально стало отрабатывать LIKE

>RDen ©   (15.10.09 13:05) [11]  - если можно удалите

Спасибо за ответы, особенно sniknik и stas


stas   (2009-10-15 13:08:00) [2]

1. насколько я помню преобразовывать ничего ненужно, Like в Jet работает без учета регистра
2. О функциях используемых в Jet можно почитать в справке по акцессу, там возможно она называется по другому.


Anatoly Podgoretsky   (2009-10-15 13:07:00) [3]

В [9] нет примера, там только строка подключения.


RDen   (2009-10-15 13:05:00) [4]

>stas ©   (15.10.09 12:13) [9]
подключил через твой пример, то-же: "Неопределённая функция Upper в выражении"


Anatoly Podgoretsky   (2009-10-15 12:20:00) [5]


> >Вобще если через Jet...
>
> спасибо, попробую

Чего думать, тут трясти надо. Будет на одного проблематичного посредника меньше. Поскольку ODBC обращается к JET, а тот к БДЕ


stas   (2009-10-15 12:13:00) [6]

RDen ©   (15.10.09 12:09) [8]
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\data; Mode=ReadWrite;Extended Properties=dBase IV;Persist Security Info=False


RDen   (2009-10-15 12:09:00) [7]

>stas ©   (15.10.09 11:57) [6]

ээээ.. этолько для БД аксесс вроде...


RDen   (2009-10-15 12:01:00) [8]

>Anatoly Podgoretsky ©   (15.10.09 11:48) [4]
>Вообще то зачем одну часть в Upper, а другую в AnsiLowerCase - это же дурдом.

ну не обратил внимания Медвежонок Пятачок на
>RDen ©   (15.10.09 11:23) [2]
>AnsiLowerCase

ничего страшного...

>sniknik ©   (15.10.09 11:53) [5]
>..а ты даже не приводишь, что ты используешь

Provider=MSDASQL.1;Data Source=ôàéëû dbase;Initial Catalog=

>Вобще если через Jet...

спасибо, попробую


stas   (2009-10-15 11:57:00) [9]

RDen ©   (15.10.09 10:33)
Вобще если через Jet подклчится, то все получится.


sniknik   (2009-10-15 11:53:00) [10]

> зы. в TQuery допускалось ...Upper(Table1.FIO) LIKE....
и в ADOQuery "допустится" если подключится к соответствующему движку...

> или я тебя не правильно понял?
не знаю чего ты там понял, но вот чего точно не понимаешь, так это то, что ADO не "моно" система, а "окно в мир баз" и работает в основном по правилам той базы(движка) на которую смотрит. а ты даже не приводишь, что ты используешь, как будто это не существенно.


Anatoly Podgoretsky   (2009-10-15 11:48:00) [11]

Вообще то зачем одну часть в Upper, а другую в AnsiLowerCase - это же дурдом.


Медвежонок Пятачок   (2009-10-15 11:25:00) [12]

Upper(Table1.FIO) LIKE....


RDen   (2009-10-15 11:23:00) [13]

> Медвежонок Пятачок ©   (15.10.09 10:35) [1]

имеешь  в виду - ....Value := AnsiLowerCase(Edit1.Text); ?

дык в запросе то запрашиваются данные из таблицы с разными регистрами..
или я тебя не правильно понял?


Медвежонок Пятачок   (2009-10-15 10:35:00) [14]

привести параметр к тому же регистру что и в запросе


Наверх

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