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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2010, 23:14   #1
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию как составить sql запрос для выборки по имени,фамилии и отчеству

у меня 3 edita для поиска(имя.фамилия.отчество)мне надо чтоб когда пользователь вводил в эти поля данные например (ива,сер,анат)вот так чтоб пользователь не должен был вводить полные данные и чтоб sql запросом выдавал все записи удовлетворяющие этому запросу.у меня дельфи 2007 и sql server 2005.ОС 7.связь с сервером есть и на запросы он отвечает.просто я не знаю как именно составить такой запрос из 3 edit ов
Код:
procedure Tfindresultform.findButtonClick(Sender: TObject);
begin
form1.FIOQuery.Active:=false;
form1.FIOQuery.SQL.Clear;
form1.FIOQuery.sql.Add(lnameedit.Text);\\так работает но сам запрос в edite пишу
form1.FIOQuery.Active:=true;
end;
вобщем подскажите знатоки
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 12.05.2010, 03:06   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Используйте оператор LIKE + поиск по форуму.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.05.2010, 12:12   #3
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Liке я и так используя,но только по одному полю,например по фамилии,а как сделать что по всем 3 полям искал?
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 12.05.2010, 16:58   #4
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Цитата:
Сообщение от betirsolt Посмотреть сообщение
Liке я и так используя,но только по одному полю,например по фамилии,а как сделать что по всем 3 полям искал?
точно также как и по одному, только менжду условиями поставь and
maLoy*508 вне форума Ответить с цитированием
Старый 12.05.2010, 20:11   #5
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
точно также как и по одному, только менжду условиями поставь and
вот что я сообразил
Код:
procedure Tfindresultform.findButtonClick(Sender: TObject);
begin
form1.FIOQuery.Active:=false;
form1.FIOQuery.SQL.Clear;
form1.FIOQuery.sql.Add('select * from fio where lname like '''+lnameedit.text+'%'+''' and fname like '''+fnameedit.text+'%'+''' and mname like '''+mnameedit.text+'%'+'''');
form1.FIOQuery.Active:=true;
end;
поправьте если что не так.или если можно сделать проще
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 12.05.2010, 21:03   #6
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

а зачем вот эта строка
Код:
form1.FIOQuery.SQL.Clear;
И может сам запрос в инспекторе объектов добавить в свойство sql?
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 12.05.2010, 21:47   #7
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Цитата:
Сообщение от Sparky Посмотреть сообщение
а зачем вот эта строка
Код:
form1.FIOQuery.SQL.Clear;
И может сам запрос в инспекторе объектов добавить в свойство sql?
это чтоб очистить предыдуший запрос если вдруг он там окажется.а какая разница в объектном инспекторе или так? у меня там еще edit есть куда вручную любой запрос можно записать
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 12.05.2010, 21:58   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
поправьте если что не так.или если можно сделать проще
нормальное решение, не переживайте.
Можно, конечно, заменить переменные параметрами (использовать параметризированный запрос), но можно и так оставить. У Вас вполне даже рабочий вариант.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.05.2010, 22:44   #9
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

спасибо всем.о параметрах как нибудь потом если понадобиться)))как в том анекдоте: ты уверен что это работает?,да,тогда ради бога ничего не трогай)))ничего
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросам знатокам и просто любителям, нужно составить не сложный sql запрос modz SQL, базы данных 3 14.08.2013 11:20
Создать запрос выборки из нескольких таблиц skilk SQL, базы данных 10 03.03.2012 10:47
Как составить запрос? jeka5555 SQL, базы данных 3 09.09.2009 10:12
помогите составить SQL запрос!!!! MAKSA БД в Delphi 12 07.08.2009 11:12
Как правильно построить цикл для выборки? Tanuska___:) БД в Delphi 1 12.01.2009 14:50