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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2012, 00:04   #1
SERG1990
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 24
По умолчанию Поиск по БД с несколькими полями ввода

Всем доброго времени суток!:)

Имеется поиск по фамилиям в БД


Код:
begin
try
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM people WHERE lastName LIKE'+QuotedStr('%'+Edit6.Text+'%'));
ADOQuery1.Active:=True;
except
on e:Exception do
end;
end;
Подскажите, как сделать поиск с двумя и более полями ввода? Но чтобы не все поля ввода были обязательными для заполнения.
Помогите, если не трудно на примерах с моим кодом.

Пример:


P.S. Пробовал добавлять вторую строчку ADOQuery1.SQL.Add('SELECT * FROM people WHERE firstName LIKE'+QuotedStr('%'+Edit7.Text+'%') ); Но что-то не заладилось...
SERG1990 вне форума Ответить с цитированием
Старый 12.02.2012, 00:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
with ADOQuery1 do begin
 SQL.Text:='SELECT * FROM people WHERE lastName LIKE'+QuotedStr('%'+Edit6.Text+'%');
 if Edit7.Text<>'' then SQL.Text:=SQL.Text+' AND firstName  LIKE '+QuotedStr('%'+Edit7.Text+'%');
 Active:=True;
end;
Смысл понятен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2012, 08:12   #3
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

по логике лучше так

Код:
ADOQuery1.SQL.text:='SELECT * FROM people where';
if edit6.text<>'' then  ADOQuery1.SQL.add('lastName LIKE'+QuotedStr('%'+Edit6.Text+'%')');
if edit7.text<>'' then
begin
if  edit6.text<>''  then ADOQuery1.SQL.add(' and ');
ADOQuery1.SQL.add('firstName LIKE'+QuotedStr('%'+Edit7.Text+'%')');
end;
if edit6.text='' and edit7.text='' then showmessage('Нет значений для поиска')
else ADOQuery1.active:=true;
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 12.02.2012, 12:39   #4
SERG1990
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 24
По умолчанию

Stilet, спасибо большущее! Смысл понятен!

BARNEY, у меня он ругается почему-то на ADOQuery1.SQL ... В чем может быть проблема?

Последний раз редактировалось Stilet; 12.02.2012 в 13:07.
SERG1990 вне форума Ответить с цитированием
Старый 12.02.2012, 15:02   #5
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

у вас, в вашем же примере это написано..смотрите внимательно что и где написано.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 12.02.2012, 16:12   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ругается
Сильно ругается?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2012, 16:54   #7
SERG1990
Пользователь
 
Регистрация: 01.06.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Сильно ругается?
Нет

Как например к Вашему коду прицепить Radiobutton?
Мне нужно фильтр по полу добавить (не паркетному)))

Цитата:
with ADOQuery1 do begin
SQL.Text:='SELECT * FROM people WHERE lastName LIKE'+QuotedStr('%'+Edit6.Text+'%') ;
if Edit7.Text<>'' then SQL.Text:=SQL.Text+' AND firstName LIKE '+QuotedStr('%'+Edit7.Text+'%');
Active:=True;
end;
SERG1990 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматирование ввода в колонку dataGridView и проверка правильности ввода tumanovalex C# (си шарп) 1 31.05.2011 19:56
Как сделать запрет ввода букв в поле для ввода input zvezda_t PHP 1 27.12.2009 22:02
Поиск поля для ввода текста и его замена ZeroCrash Общие вопросы Delphi 2 21.04.2009 17:22
Поиск файлов сразу с несколькими расширениями. Как??? Altera Общие вопросы Delphi 20 28.03.2008 01:43
Поиск min/max данных с несколькими условиями - нужна помощь! /nort/ Microsoft Office Excel 3 16.03.2008 00:13