Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2012, 13:29   #1
Slobodchikov_y
 
Регистрация: 06.03.2012
Сообщений: 6
По умолчанию Запрос SQL

Подскажите пожалуйста начинающему! Надо сделать SQL запрос по нескольким параметрам! На форме 4 Combo Box! По нажатию кнопки найти в сетке должны отображаться те записи таблицы в которых есть параметры введенные в Combo Box!

DataModule2.ADOQueryQ.Active:=false ;
DataModule2.ADOQueryQ.SQL.Clear;
DataModule2.ADOQueryQ.SQL.Add('SELE CT*');
DataModule2.ADOQueryQ.SQL.Add('FROM Клиенты');
DataModule2.ADOQueryQ.SQL.Add('WHER E Вид услуг LIKE '''+ Poiskusl.Text+'''' );
DataModule2.ADOQueryQ.SQL.Add('WHER E Вид услуг LIKE '''+ EtagZ.Text+'''' );
DataModule2.ADOQueryQ.SQL.Add('WHER E Вид услуг LIKE '''+ KolkomZ.Text+'''' );
DataModule2.ADOQueryQ.Active:=true;
Это не работает, выбивает ошибку синтаксиса, пропущен оператор!
Slobodchikov_y вне форума Ответить с цитированием
Старый 06.03.2012, 14:09   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Код:
WHERE (Вид услуг LIKE '''+ Poiskusl.Text+'''') or (Вид услуг LIKE '''+ EtagZ.Text+'''')
и т.д. Понятно?
Кто вас учит задавать русские имена полям?...
_SERGEYX_ вне форума Ответить с цитированием
Старый 06.03.2012, 14:12   #3
Slobodchikov_y
 
Регистрация: 06.03.2012
Сообщений: 6
По умолчанию

Спасибо большое! Попробую!
Slobodchikov_y вне форума Ответить с цитированием
Старый 06.03.2012, 14:54   #4
Slobodchikov_y
 
Регистрация: 06.03.2012
Сообщений: 6
По умолчанию

DataModule2.ADOQueryQ.SQL.Add('WHER E (Вид услуг LIKE '''+ Poiskusl.Text+''')or (Вид услуг LIKE '''+ RaionZ.Text+''') or (Вид услуг LIKE '''+ EtagZ.Text+''')or(Вид услуг LIKE '''+ KolkomZ.Text+''')' );
Выводит ошибку!
Изображения
Тип файла: jpg Безымянный.jpg (22.8 Кб, 139 просмотров)
Slobodchikov_y вне форума Ответить с цитированием
Старый 06.03.2012, 15:05   #5
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

ОМГ.... "Вид услуг" это имя поля в таблице? если да то попробуйте в "" взять его.... А лучше перепишете базу на английские поля..гемора меньше будет.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 06.03.2012, 15:15   #6
Slobodchikov_y
 
Регистрация: 06.03.2012
Сообщений: 6
По умолчанию

Написал DataModule2.ADOQueryQ.SQL.Add('WHER E (Вид услуг LIKE '''+ Poiskusl.Text+''')or (Вид услуг LIKE '''+ RaionZ.Text+''') or (Вид услуг LIKE '''+ EtagZ.Text+''')or(Вид услуг LIKE '''+ KolkomZ.Text+''')' );
Выводит ошибку!
Изображения
Тип файла: jpg Безымянный.jpg (22.8 Кб, 146 просмотров)
Slobodchikov_y вне форума Ответить с цитированием
Старый 06.03.2012, 15:31   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

у Вас СУБД Access ?!
Тогда, для начала укажите поле вид услуг в квадратных скобках:
Код:
DataModule2.ADOQueryQ.SQL.Add(
'WHERE ([Вид услуг] LIKE '''+ Poiskusl.Text+
''') or ([Вид услуг] LIKE '''+ RaionZ.Text+
''') or ([Вид услуг] LIKE '''+ EtagZ.Text+
''') or ([Вид услуг] LIKE '''+ KolkomZ.Text+''')' );
а во вторых, не уверен, что Вам нужно, чтобы пустые поля (RaionZ, EtagZ, KolkomZ) участвовали в запросе! Да и на прозводительности запроса подобные OR сказываются крайне негативно!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запрос irinka2706 SQL, базы данных 1 24.02.2012 09:36
sql-запрос kkkcka БД в Delphi 4 02.07.2011 20:12
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15