Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/40: Рейтинг темы: голосов - 40, средняя оценка - 4.90
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20

AdoQuery И поиск по нескольким значениям

18.05.2010, 10:39. Показов 7796. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день Имеется у меня на форме ADOConnection1 который подключен к Бд, ADOTable1 которые подключен к ADOConnection1, DataSource1 который связан с ADOTable1 , ADOQuery1 который связан с ADOConnection1 и DataSource1, DataSource2 который связан с ADOQuery1, и DBGrid1 который связан с DataSource2,


Суть в том что я организовал поиск
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm5.Button1Click(Sender: TObject);
Var
a:Char;
begin
 
a:=#39;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Описание_квартиры');
ADOQuery1.SQL.Add('WHERE Метро   like' + a + '%' + Edit1.Text +  '%' + a);
ADOQuery1.Active:=True;
end;
end.
Это дело замечательно ищет из таблицы Описание квартиры записи в столбце метро(записи заношу в Edit1) и выводит всю строку в DBGrid1,
Но мне надо чтобы он еще искал в этой же таблице (Описание_квартиры)и по другим столбцам (Город, район, Количество комнат, Площадь, Цена) и выдавал результат поиска в DBGrid1 , как бы получается поиск по 6 Edit(ам).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.05.2010, 10:39
Ответы с готовыми решениями:

Обработка по нескольким значениям из ADOQuery (для выделенной в DBGrid строки)
Здравствуйте, возникли затруднения при выполнении определенной задачи в приложении. Есть небольшая БД, содержащая данные по...

Поиск по нескольким значениям
Доброе утро всем. Ребята такой вопрос как сделать поиск сразу по нескольким значениям Если к примеру в поисковой строке указать...

Поиск по нескольким значениям VBA
Добрый день, форумчане! Устроился стажером в компанию для выполнения задачи по автоматизации работы с документооборотом. Суть в...

26
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
18.05.2010, 10:53
SQL
1
2
3
4
WHERE тут 1-е условие фильтрации
  AND тут 2-е условие фильтрации
  AND тут 3-е условие фильтрации
...
1
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
18.05.2010, 11:05  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm5.Button1Click(Sender: TObject);
Var
a:Char;
begin
 
a:=#39;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Описание_квартиры');
ADOQuery1.SQL.Add('WHERE Район and Город and Площадь And Цена   like ' + a + '%' + Edit1.Text + Edit3.Text+ Edit2.Text+ Edit4.Text +Edit5.Text+  '%' + a);
ADOQuery1.Active:=True;
мм так?
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
18.05.2010, 11:17
Цитата Сообщение от Fish999 Посмотреть сообщение
мм так?
чтобы вы сами поняли абсурд своего примера, просто вставьте перед
Delphi
1
ADOQuery1.Active:=True;
это
Delphi
1
ShowMessage(ADOQuery1.SQL.Text);
и запустите с рабочими параметрами
0
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
18.05.2010, 12:50  [ТС]
Т_Т я совсем дурак) , можешь написать как это должно быть)
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
18.05.2010, 13:38
Цитата Сообщение от Fish999 Посмотреть сообщение
Т_Т я совсем дурак) , можешь написать как это должно быть)
подсказку я дал в первом же посте,
готов обсудить твои неудачные попытки, но не делать всё за тебя. какой в этом смысл?
0
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
18.05.2010, 13:43  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm5.Button1Click(Sender: TObject);
Var
a:Char;
 
begin
 
a:=#39;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Описание_квартиры');
ADOQuery1.SQL.Add('WHERE Город   like ' + a + '%' + Edit1.Text +  '%' + a );
and ('Район  like ' + а + '%' + Edit5.Text +  '%' + а) ;
ADOQuery1.Active:=True;
знаю что не работает но хоть близко к истине?)
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
18.05.2010, 14:01
Цитата Сообщение от Fish999 Посмотреть сообщение
знаю что не работает но хоть близко к истине?)
последняя часть SQL-запроса (and ...) висит в воздухе.
по вашему коду получается, что это delphi-инструкция, а не часть SQL-запроса
0
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
18.05.2010, 14:02  [ТС]
Цитата Сообщение от arni Посмотреть сообщение
последняя часть SQL-запроса (and ...) висит в воздухе.
к сожалению это мне не о чем не говорит(
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
18.05.2010, 14:06
Цитата Сообщение от Fish999 Посмотреть сообщение
к сожалению это мне не о чем не говорит(
сравните визуально, какой текст у вас торчит перед WHERE, а какой перед AND (имеется в виду в той же самой строке).
По идее контекст один д.б.
0
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
18.05.2010, 14:17  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm5.Button1Click(Sender: TObject);
Var
a:Char;
 
begin
 
a:=#39;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Описание_квартиры');
ADOQuery1.SQL.Add('WHERE Город   like ' + a + '%' + Edit1.Text +  '%' + a )
 and
 
ADOQuery1.SQL.Add('where Район   like ' + a+ '%' + Edit5.Text +  '%' + a);
ADOQuery1.Active:=True;
end;
ммм так? Я Вас наверно совсем замучил)
0
151 / 151 / 3
Регистрация: 05.05.2010
Сообщений: 570
18.05.2010, 14:19
Ну что тут скажешь...

Fish999, а это компилируется?
0
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
18.05.2010, 14:20  [ТС]
нет конечно же)
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
18.05.2010, 14:20
случай клинический, я умываю руки.
читайте справку по SQL до просветления.

а заодно мой ПЕРВЫЙ же пост в качестве образца
0
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
18.05.2010, 15:06  [ТС]
ладно пасиб что попытался помоч)

Добавлено через 20 минут
Кто еще желает объяснить чуть чуть по подробнее)?

Добавлено через 24 минуты
пожалуйста это единственное что осталось в курсовике) а завтра еще отчет писать)) а в четверг защищать)) ну хоть намекните по подробнее
0
151 / 151 / 3
Регистрация: 05.05.2010
Сообщений: 570
18.05.2010, 18:57
Fish999, Вам во втором посте все вроде объяснили.
1. Берем строку 'WHERE'
2. Добавляем строку ' Имя_поля + LIKE % + Значение + %'
3. Если необходимо еще одно условие то добавляем ' AND ' и переходим к пункту 2.
4. Результат алгоритма загоняем в ADOQuery методом Add.
2
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
19.05.2010, 21:16  [ТС]
Цитата Сообщение от harmless Посмотреть сообщение
Добавляем строку ' Имя_поля + LIKE % + Значение + %'
.
мм мб ('Имя_поля like' +'%'+ значение+'%');

и куда этот гребаный And пихать можно код ? или примерчик

Добавлено через 23 часа 52 минуты
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm5.Button1Click(Sender: TObject);
Var
a:Char;
 
begin
a:=#39;
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Îïèñàíèå_êâàðòèðû');
 
  ADOQuery1.SQL.Add('WHERE Ãîðîä  like ' + a + '%' + Edit3.Text +  '%' + a );
ADOQuery1.SQL.Add(' and Ðàéîí like' + a + '%' + Edit1.Text +  '%' + a);
 
 ADOQuery1.Active:=True;
end;
ееее я справился поздравите меня

Добавлено через 30 минут
неужели было трудно сказать что за место where надо подставить and жесть...
1
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
19.05.2010, 21:54
Цитата Сообщение от Fish999 Посмотреть сообщение
неужели было трудно сказать что за место where надо подставить and жесть...
а трудно было взглянуть внимательно на первый же ответ в этой ветке и сделать по образцу?
0
2 / 2 / 2
Регистрация: 14.05.2010
Сообщений: 20
20.05.2010, 01:05  [ТС]
там не много не понятно для меня)
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
20.05.2010, 08:29
Цитата Сообщение от Fish999 Посмотреть сообщение
там не много не понятно для меня)
на мой взгяд (на основе наблюдения ваших попыток доделать код), у вас каша в голове относительно того, где простираются delphi-конструкции, а где SQL-код.
Если бы вы перед зашитием запросов в программу проверяли их в инструменте по работе с СУБД, ясность мышления так бы не подводила. Ну и изучать предмет надо: и Delphi и SQL. Причем по разным книгам. Те немногие а-ля "Delphi + базы данных" меня не впечатляли в свое время глубиной подачи материала. Впрочем, время идет ... быть может что-то изменилось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2010, 08:29
Помогаю со студенческими работами здесь

Поиск результатов по нескольким значениям
Добрый день, Думаю, для гуру EXCEL моя задачка не покажется сложной, но я сломала уже голову, пытаясь сделать следующее. Есть 3...

Как выполнить поиск одновременно по нескольким значениям документа
в общем задача такая: имеется база. в ней есть документы которые заносятся строго по определенному шаблону. необходимо найти нужную...

Выборка по нескольким значениям
Добрый день, друзья. Собственно ситуация такая: На фильтре из checkedComboBoxEdit1-a выбираю к примеру несколько значений (ставлю...

Фильтрация по нескольким значениям
Я хочу провести фильтрацию поля таблицы TDB по нескольким значениям. Есть Dbf1.Filter:='AVERAGESCORE = '+DBComboBox2.Text; Как...

Отбор по нескольким значениям.
Здравствуйте, уважаемые форумчане. Если тема моя повторяется, то не судите строго, ткните носом туда "где уже было". Честно...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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 Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru