0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 18
1

Поиск данных в таблице по двум полям

11.03.2015, 11:22. Показов 891. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здрасвтуйте.
Подскажите как оргинизовать поиск из двух полей Edit
Пользователь вводит в 1 поле Начальную станцию а во втором конечную. В таблице есть начальная, несколько промежуточных и конечная станция
Сейчас поиск выглядит таким образом
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
str:=sEdit1.Text;
 str:=TRIM(str);
 
 ADOQuery1.SQL.Clear;
 
ADOQuery1.SQL.Add( 'Select [Номер поезда], [Категория], [Начальная станция], [Конечная станция] from Поезда '+
 'where [Номер поезда] Like "%'+str+'%" or'  +
 ' [Начальная станция] Like "%'+str+'%" or'  +
 ' [Конечная станция] Like "%'+str+'%" or' +
 ' [Номер поезда] Like "%'+str+'%" or' +
 ' [Категория] like "%'+str+'%"');
ADOQuery1.Active:=true;
end
Придется ли переделать сам код поиска?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2015, 11:22
Ответы с готовыми решениями:

Поиск (с продолжением) по двум полям с распечаткой данных. Возможно?
Господа, прошу помочь начинающему. У меня проблема. Подскажите, как продолжить поиск. При данном...

Поиск по двум полям
Прошу совета! При попытке организовать поиск в форме по двум полям: Private Sub Поле209_Change() ...

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

Поиск по двум полям
<?php //Форма поиска начало if (isset($_POST) || isset($_POST)) { $search_fio = $_POST;...

4
5777 / 4520 / 1430
Регистрация: 14.04.2014
Сообщений: 20,143
Записей в блоге: 20
11.03.2015, 14:04 2
сейчас во всех полях ищется одна и та же подстрока, заданная в edit1
что мешает добавить еще 100500 OR
где вместо str будет Edit2.text?

и да, такой поиск будет жутко тормозить на сколько-нибудь большой базе
0
0 / 0 / 0
Регистрация: 30.10.2014
Сообщений: 6
11.03.2015, 19:58 3
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
procedure TForm1.Button1Click(Sender: TObject);
 
var filtr,add: string;
begin
ADOQuery1.filtered:=false;
filtr:='';
if length(Edit1.text) > 0 then
filtr:= 'Номер поезда LIKE '+ QuotedStr(Edit1.Text + '%');
if length(Edit2.text) > 0 then
begin
if length(filtr) > 0 then 
add:= ' and '
 else
add:='';
filtr:=filtr + add + 'Начальная станция LIKE '+ QuotedStr(Edit2.Text + '%');
end;
//if length(Edit3.text) > 0 then
//begin
//if length(filtr) > 0 then add:= ' and ' else add:='';
//filtr:=filtr + add + 'Категория LIKE '+QuotedStr(Edit3.Text + '%');
//end;
 
if length(filtr) > 0 then
begin
ADOQuery1.Filter:= filtr;
ADOQuery1.filtered:=true;
end
else
 
 Showmessage('не знаю что искать!   ');
 
end;
Вот попробуй, третий не знаю точно а по двум запросам работает
0
5777 / 4520 / 1430
Регистрация: 14.04.2014
Сообщений: 20,143
Записей в блоге: 20
11.03.2015, 21:40 4
Sergej73, крутое решение - затащить всю базу к себе и отфильтровать уже тут
0
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 18
12.03.2015, 18:51  [ТС] 5
Спасибо за ответы. Проблема решена
0
12.03.2015, 18:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2015, 18:51
Помогаю со студенческими работами здесь

Поиск по двум полям в DataGridView
Доброго времени суток. Нужно выполнить поиск в двух полях. Поиск выполняю таким образом: ...

Поиск по двум полям в списке
Привет всем! У меня такая проблема: есть простая БД по учету товаров. Есть таблица "Заказано" и...

Живой поиск по двум полям
озадачился для удобства сделать живой поиск. для этого посетил гугл и нашел замечательный пример- ...

Поиск записей по двум полям формы
Добрый вечер, Хочу организовать поиск по двум полям формы, получилось так, что отбирает по первому...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru