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

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

Запрос select c like


saha ©   (2003-04-23 12:49:00) 

Привет!
Если задавать запрос типа select * from table where name like переменная то нужно задавать значение по умолчанию. А какой синтаксис задания? Спасибо.


Соловьев   (2003-04-23 15:00:00) [1]

Я писал для LocalSQL, а ты используешь Jet - а там другой SQL. Попробуй вместо ||"%"- +"*"


saha   (2003-04-23 14:40:00) [2]

to соловьев
блин, ...
bubl:=bubl+"%";
AdoDataSet.CommandText :="select * from Tovar Where NAME LIKE upper(:bubl collate pxw_cyrl)";
Так нельзя? Пишет неполностью заданы значения параметра. Задаю этот параметр там string, название, value, потом меняю value и size и вылетает: Неопознаная ошибка. Вот, а сейчас уже вылетает что индекс параметра вне диапазона, хотя параметр 1 и я ставлю 0, как и дизайнере написано.
если так ...upper(:bubl collate pxw_cyrl)||"%"";
у меня на || ругается Illegal character in input file:"%"($25);
а просто ...pxw_cyrl)"+"%" нельзя?
В дизайнере все работает.


Соловьев   (2003-04-23 14:07:00) [3]


> устанавливает соответствующю сортировку

чтобы перевести в верхний регистр. Сорри....


Val   (2003-04-23 14:05:00) [4]

>Соловьев © (23.04.03 13:53)
для перефода в верний регист кирилицы
разве? насколько я помню - collate устанавливает соответствующю сортировку.


Соловьев   (2003-04-23 13:53:00) [5]


> что такое collate pxw_cyrl,

для перефода в верний регист кирилицы


> что такое ||"%"?

кокатенация строк, т.е. + . Чтобы искало бублик соленый, бубликии так далее.

> я хочу подставить переменную, если просто прописать bubl
>

надо через :
Т.е.

select * from table where upper(name_tovar collate pxw_cyrl) like upper(:bubl collate pxw_cyrl)||"%"

А в проге надо так писать:

...
Query.ParambyName("bubl").AsString := Edit1.Text
...

И еще конечно, если хочешь в дизайн-тайме проверить, то

> Соловьев © (23.04.03 12:54)


saha   (2003-04-23 13:48:00) [6]

То Соловьев
>select * from table where upper(name_tovar collate pxw_cyrl) like upper("БУБЛИК" collate pxw_cyrl)||"%"

это из вчерашнего про бублик.
ну так вот я не понял что такое collate pxw_cyrl, и что такое ||"%"? А вместо "БУБЛИК" я хочу подставить переменную, если просто прописать bubl , то возникает ошибка что не задан параметр по-умолчанию. А если выключить parametrcheck то:не заданы значения для одного или нескольких параметров.


Соловьев   (2003-04-23 13:26:00) [7]


> про все это можно почитать?

F1 - ответит на все почти вопросы.

> Я так понимаю для AdoDataSet это свойство parameters.

там только в SelectSQL можно управлять на сколько мне известно.


saha   (2003-04-23 13:24:00) [8]

Я так понимаю для AdoDataSet это свойство parameters.
Пишу AdoDataSet.Parameters.CreateParameter("String",ftString,pdUnknown,sizeOf(String),Sss);
- ругается что не заданы значения для одного или нескольких параметров.
Да и вообще вопросов слишком много, может кто знает где про все это можно почитать?


Соловьев   (2003-04-23 12:54:00) [9]

в Object Inspector свойство Param->Default


Наверх

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