![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]привести параметр к тому же регистру что и в запросе