Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 25
1

Поиск всех значений в БД

29.03.2014, 21:07. Показов 1119. Ответов 9
Метки нет (Все метки)

Здравствуйте. Проблема такая: когда я ищу что-либо в свой БД, то у меня находит только одно значение. То есть, если у меня в БД есть "Компьютер" и "Компьютер новый", то оно мне покажет только "Компьютер", а переключиться на следующую запись "Компьютер новый" у меня не получается. Заранее спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2014, 21:07
Ответы с готовыми решениями:

написать программу,которая вводит произвольное число значений в переменную z и находит среднее арифметическое всех введённых значений кроме отрицатель
написать программу,которая вводит произвольное число значений в переменную z и находит среднее...

написать программу,которая вводит произвольное число значений в переменную z и находит среднее арифметическое всех введённых значений кроме отрицатель
написать программу,которая вводит произвольное число значений в переменную z и находит среднее...

FindFirst. Поиск во всех поддиректориях, всех файлов
Не получается рекурсивно вызвать 1ую процедуру, почему-то только для первой папки ищет все файлы. ...

Поиск по всем столбцам всех значений
Добрый день! Осуществляю поиск таким образом - по конкретной колонке , а надо чтобы было по всем...

9
8 / 8 / 2
Регистрация: 04.03.2014
Сообщений: 129
29.03.2014, 22:38 2
select * from baza where column like '%компьютер%'
Как ты организовал поиск по базе. Опишите весь процесс как и чем подключение создавал к кому. Что за база.
0
Эксперт Pascal/Delphi
4735 / 2714 / 841
Регистрация: 04.10.2012
Сообщений: 9,900
29.03.2014, 23:11 3
Лучший ответ Сообщение было отмечено forumchanin как решение

Решение

forumchanin, допустим, что нужно выполнять поиск (можно просто фильтр применить) при вводе значения в TEdit. Создайте для него
обработчик события OnChange и напишите в нем
Delphi
1
2
3
4
5
6
7
if Length(edt1.Text)>0 then begin //если поле заполнено
ADOQuery1.Filter :='имя_поля LIKE '+QuotedStr(edt1.Text+'%'); // находим значения, которые начинаются
                                          //на заданное слово. В Вашем случае "компьютер"
ADOQuery1.Filtered :=True; //включаем фильтр
  end
else
ADOQuery1.Filtered :=False;
С ADOTable по аналогии.
1
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 25
29.03.2014, 23:37  [ТС] 4
Так-с, поиск осуществляется с помощью комбобокса, кнопки (image) и эдита.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm4.Image7Click(Sender: TObject);
 
Var s:string;
begin
if ComboBox2.Text='Наименовании товара' then s:='Наименование товара';
fs:=Edit2.Text;
dbgrid1.DataSource.DataSet.Locate('Наименование товара', fs, [loPartialKey]);
if ComboBox2.Text='Производству' then s:='Производство';
fs:=Edit2.Text;
dbgrid1.DataSource.DataSet.Locate('Производство', fs, [loPartialKey]);
if ComboBox2.Text='ФИО ответственного лица' then s:='ФИО ответственного лица';
fs:=Edit2.Text;
dbgrid1.DataSource.DataSet.Locate('ФИО ответственного лица', fs, [loPartialKey]);
end;
0
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,844
30.03.2014, 02:32 5
Цитата Сообщение от forumchanin Посмотреть сообщение
Так-с, поиск осуществляется с помощью комбобокса, кнопки (image) и эдита.
Ну а Locate ищет только первое вхождение искомого в наборе данных. Второе и последующие уже таким способом не найдёшь. Нужно переписывать/переделывать программу.
0
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 25
30.03.2014, 05:46  [ТС] 6
Подскажите, пожалуйста, каким способом это лучше всего сделать тогда?
0
723 / 475 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
30.03.2014, 05:55 7
Выше уже написали как это сделать SQL-запросом или фильтром
0
Эксперт Pascal/Delphi
4735 / 2714 / 841
Регистрация: 04.10.2012
Сообщений: 9,900
30.03.2014, 10:48 8
Цитата Сообщение от forumchanin Посмотреть сообщение
каким способом это лучше всего сделать тогда?
читать внимательно не вариант?
0
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 25
30.03.2014, 17:50  [ТС] 9
droider


Я имел ввиду другой способ, отличающийся от тех двух, которые указаны выше. Если никаких способов больше нет - то да, буду делать так, как Вы мне и написали. За помощь спасибо.

Ребята! Помогите еще, пожалуйста, сделать поиск через фильтр, но уже с помощью комбобокса. То есть, я выбираю в комбобоксе колонку, по которой буду искать, а в эдит уже ввожу то, что собственно хочу найти.
0
Эксперт Pascal/Delphi
4735 / 2714 / 841
Регистрация: 04.10.2012
Сообщений: 9,900
30.03.2014, 22:50 10
Лучший ответ Сообщение было отмечено forumchanin как решение

Решение

forumchanin,
Delphi
1
ADOQuery1.Filter :=ComboBox1.Items[ComboBox1.ItemIndex]+' LIKE '+QuotedStr(edt1.Text+'%');
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2014, 22:50

Поиск всех ключей и значений в объекте
Всем привет! Друзья, нуждаюсь в Вашей помощи! Подскажите пожалуйста, как получить ключи и...

Поиск в RTB всех значений, а не только первого
Делаю поиск таким методом: Form1.rtbEdit.Find(Me.TextBox1.Text) Но находит он всего первое...

Поиск и замена всех значений на листе на заданное
Привет, в общем, есть в Excell лист, на котором может быть любое кол-во цифр "14", нужно заменить...

Поиск всех значений между указанными тегами
Здравствуйте. Мне нужно сделать так что бы выбирались все совпадения. $text =...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.