Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/72: Рейтинг темы: голосов - 72, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 39

Поиск по нескольким полям

08.04.2010, 12:31. Показов 13768. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Подскажите пожалуйста, как организовать поиск по нескольким полям. Причем может вводится 1-ое значение , а второе например будет пустое, в 3-ьем тоже будет запись какая-нибудь. Реально такое сделать подскажите пожалуйста!!!!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2010, 12:31
Ответы с готовыми решениями:

Поиск по нескольким полям
авм Добавлено через 6 минут Если не ввести временной интервал отказывается искать в БД Кто поможет разобраться? вот код : ...

Поиск по нескольким полям
что то я делаю не так... если делаю так: ADOQuery1.SQL.Clear; AdoQuery1.Sql.Add('SELECT * FROM База WHERE Наименование LIKE :nam or...

Поиск по нескольким полям методом Locate
Как сделать чтоб поиск происходил в нескольких полях procedure TForm2.Button3Click(Sender: TObject); begin if not...

34
15 / 15 / 1
Регистрация: 30.03.2010
Сообщений: 47
08.04.2010, 12:56
Так чтоли?
SQL
1
2
3
4
5
6
7
8
9
10
SELECT
  blah
FROM
  some_table st
WHERE
  (st.field1 = :param1 OR :param1 IS NULL)
  AND (st.field2 = :param2 OR :param2 IS NULL)
  AND (st.field3 = :param3 OR :param3 IS NULL)
...
  AND (st.fieldN = :paramN OR :paramN IS NULL)
Или что имеется в виду под поиском?
1
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 39
08.04.2010, 13:05  [ТС]
Ну например поиск значений : номер, наименование товара, производитель. Имеется 3-и поля Edit откуда вводятся значения и при нажатии кнопки "найти" происходит вывод данных в таблице, причем может быть заполнено либо сразу три поля либо 1-о поле.
0
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
08.04.2010, 14:15
Albinusha, я это делал так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TfmDetailSpr.btnFilterClick(Sender: TObject);
begin
 DM.QDetailSpr.Active:=False;
 DM.QDetailSpr.SQL.Clear;
 DM.QDetailSpr.SQL.Add('SELECT *');
 DM.QDetailSpr.SQL.Add('FROM tblDetailSpr');
   if (Length(cbSection.Text) > 0) or
      (Length(cbSort.Text) > 0) then
     begin
       DM.QDetailSpr.SQL.Add('WHERE Section_ID IN (SELECT Key FROM tblSectionSpr'+
       ' WHERE SectionName LIKE '+ #39 + cbSection.Text + '%' + #39')' + 'AND');
       DM.QDetailSpr.SQL.Add('Sort_ID IN (SELECT Key FROM tblSortSpr WHERE '+
       'SortName LIKE '+ #39 + cbSort.Text + '%' + #39')');
       DM.QDetailSpr.Active:=True;
     end
   else
     begin
       DM.QDetailSpr.Active:=True;
       DM.QDetailSpr.First;
     end;
end;
1
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 39
08.04.2010, 15:53  [ТС]
Delphi
1
2
3
4
5
6
7
begin
       DM.QDetailSpr.SQL.Add('WHERE Section_ID IN (SELECT Key FROM tblSectionSpr'+
       ' WHERE SectionName LIKE '+ #39 + cbSection.Text + '%' + #39')' + 'AND');
       DM.QDetailSpr.SQL.Add('Sort_ID IN (SELECT Key FROM tblSortSpr WHERE '+
       'SortName LIKE '+ #39 + cbSort.Text + '%' + #39')');
       DM.QDetailSpr.Active:=True;
     end
DenProx Section_ID-это код таблицы Section я понимаю, и выборку вы делаете из разных таблиц????

Добавлено через 19 минут
И помоему этот запрос возвращает только одно поле, а мне надо, чтоб были значения всех полей((((
0
36 / 35 / 3
Регистрация: 12.06.2009
Сообщений: 211
09.04.2010, 10:10
select * from "your table" where (a = 1) XXX (x = 2)

Где
"your table" - 1 или несколько таблиц через запятую
ХХХ - указатели возможностей..например: and , or

а вообще для правильных SQL запросов поюзай этот мануал..он на буржуйском,но там всё понятно (с)
1
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
09.04.2010, 10:10
Albinusha, выборку делаю по полю подстанвки...

почему одно? Запрос у меня работает с полями которые заполнены, если все пустые то запрос пустой, отображаются все записи, если заполнено хотябы одно поле, запрос работает с одним, если оба поля заполнены, выборка идет согласно этим полям...
0
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 39
09.04.2010, 19:16  [ТС]
DenProx, а не могли бы скинуть примерчик на Delphy если не трудно...по коду представленный выше чет туго до меня доходит... Заранее очень благодарна
0
 Аватар для NemiroFFyo
70 / 70 / 3
Регистрация: 29.09.2009
Сообщений: 530
09.04.2010, 21:11
Albinusha, увожаемая! я уже сто раз описывал вашу проблему! и исходник выкидывал вродебы! ЮЗАЙТЕ ПОИСК ПО САЙТУ!
1
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 39
10.04.2010, 06:00  [ТС]
NemiroFFyo я что то не нашла тему в таком направлении...и не просто так же создавала тему
0
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
10.04.2010, 07:04
Albinusha, до понедельника потерпите? сейчас просто нет возможности примерчик сделать...
1
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 39
10.04.2010, 09:44  [ТС]
Конечно..Спасибо огроооооооомное
0
 Аватар для NemiroFFyo
70 / 70 / 3
Регистрация: 29.09.2009
Сообщений: 530
10.04.2010, 10:42
Цитата Сообщение от Albinusha Посмотреть сообщение
и не просто так же создавала тему
да не просто так! от того что поиском пользоваться не умеете от того и создали...

в очередной раз лично для вас как папугай выкладываю исходник всего готовенького и вкусненького на халяву...
Вложения
Тип файла: rar папугайская прога.rar (289.7 Кб, 276 просмотров)
3
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
12.04.2010, 08:27
Лучший ответ Сообщение было отмечено как решение

Решение

Albinusha, не знаю, нужно вам еще или нет, ну раз сделал, выкладываю свой вариант:
Вложения
Тип файла: rar поиск по нескольким полям.rar (334.6 Кб, 403 просмотров)
5
1 / 1 / 0
Регистрация: 31.03.2010
Сообщений: 5
12.04.2010, 11:33
Спасибо большое))) тож очень помогла програма))
1
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 39
12.04.2010, 12:52  [ТС]
Спасибо большое DenProx очень, очень помогла программа
0
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
12.04.2010, 12:57
Albinusha, не за что) обращайтесь, чем смогу помогу))

p.s. про кнопочку не забываем "Сказать спасибо"
4
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 39
12.04.2010, 12:59  [ТС]
Будет сделано))))

А еще вопрос, а как будет осуществятся поиск по базе данных если например поле не текстовое, а цифровое или дата????
0
 Аватар для NemiroFFyo
70 / 70 / 3
Регистрация: 29.09.2009
Сообщений: 530
12.04.2010, 13:58
Albinusha, аналогично. только уже за типами следить нада, за ковычками... и т.д.
1
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
12.04.2010, 14:06
Albinusha, вот запрос на выборку по числовому полю:
Delphi
1
ADOQuery1.SQL.Add('WHERE Number =' + Edit3.Text);
выборка по полю с датой:
Delphi
1
ADOQuery1.SQL.Add('WHERE Data LIKE ''' + Edit4.Text+'''');
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2010, 14:06
Помогаю со студенческими работами здесь

Поиск в таблице по нескольким полям одновременно
Уважаемые гуру делфи! Помогите с поиском в таблице по нескольким полям одновременно. Если у кого-то есть желание помочь, ответьте, обрисую...

Поиск по нескольким полям в Базе Данных
Здаствуйте, хотел бы попросить выложить пример, с поиском по нескольким атрибутам в Базе Данных. Желательно что-бы там был осуществлён...

Одновременный поиск по нескольким полям в таблице
Помогите сделать одновременный поиск по нескольким полям в таблице. Вот программа.

Поиск по нескольким полям с фиксированным полем
Собственно есть комбобокс, в нем несколько позиций забито, помогите реализовать поиск фиксированный, если выбрали из бокса какую-нибудь...

Фильтр по нескольким полям
Привет всем. Использую OracleDataSet - Zayavka. Пишу "последовательный" фильтр, (когда-то был такой вопрос, но на Acces, и там работало...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru