Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.06.2011, 22:21
s-mail s-mail вне форума
Прохожий
 
Регистрация: 01.06.2011
Сообщения: 19
Репутация: 10
Восклицание запрос в БД с выбором критерия поиска

Уважаемые форумчане!!!! а как сделать запрос без sql? вот описание задачи: есть комбобокс, в нём условно 5 параметров, хочу чтобы пользователь выбирал один из них(критерий поиска, название поля в таблице) и вводил собственно то что хочет найти (значение поля в таблице). вот примерный код но он с уже заранее прописанным полем поиска.
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
if not ADOTable1.Locate('Cartridge',Edit1.Text,[loCaseInsensitive, loPartialKey])then
ShowMessage('Запись не найдена');
end;
//loCaseInsensitive, loPartialKey - отключаем регистр
помогите!!! Диплом вот вот уже! Заранее Спасибо

Последний раз редактировалось lmikle, 05.06.2011 в 04:24.
Ответить с цитированием
  #2  
Старый 05.06.2011, 01:46
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Решение в лоб:

просто проверяешь какой номер элемента комбобокса выбран.

и далее вызываешь ту или иную процедуру например:

Код:
case Combobox1.ItemIndex of 
 0:Findfio;
 1:findpass;
 2:findinn;
 3:findnDog;
  end;

Последний раз редактировалось lmikle, 05.06.2011 в 04:25.
Ответить с цитированием
  #3  
Старый 05.06.2011, 13:16
s-mail s-mail вне форума
Прохожий
 
Регистрация: 01.06.2011
Сообщения: 19
Репутация: 10
По умолчанию

Не, надо именно так сделать как в примере, типа считать какое значение в Combobox1 и передать его в текстовое значение - 'тут жолжно быть это значение '
Combobox1 -ВЫбор критерия**Edit1 -Ввод критерия**Button1 -Осуществить поиск
если можно то полный код))))
Ответить с цитированием
  #4  
Старый 05.06.2011, 15:32
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от s-mail
Не, надо именно так сделать как в примере, типа считать какое значение в Combobox1 и передать его в текстовое значение - 'тут жолжно быть это значение '
Combobox1 -ВЫбор критерия**Edit1 -Ввод критерия**Button1 -Осуществить поиск
если можно то полный код))))

Я делал типа этого.(см. вложение)

т.е. у меня был combobox, в котором хранились имена полей таблицы. В зависимости от того, какой элемент в нем выбран, происходил поиск. Если выбран элемент Ф.И.О. то поиск происходил по полям Фамилия Имя Отчество. Если ИНН то поиск происходил по полю ИНН.. только единственное, я не делал специальную кнопу ,у меня поиск осуществлялся непосредственно при вводе значения в edit

Это то нет, или мы все-таки говорим о разных вещах??

Последний раз редактировалось Pilot_Red, 14.06.2012 в 22:25.
Ответить с цитированием
  #5  
Старый 05.06.2011, 16:52
s-mail s-mail вне форума
Прохожий
 
Регистрация: 01.06.2011
Сообщения: 19
Репутация: 10
По умолчанию

самое то! тогда каков код в функциях? мне нужна сама привязка значения комбобокс к эдит1
Ответить с цитированием
  #6  
Старый 05.06.2011, 16:59
s-mail s-mail вне форума
Прохожий
 
Регистрация: 01.06.2011
Сообщения: 19
Репутация: 10
По умолчанию

Спасибо большое за помощь) работает!!! немного потупил и готово)
вот код для интересующихся!

Код:
procedure TForm1.Button2Click(Sender: TObject);

begin
  case Combobox1.ItemIndex of
 0:if not ADOTable1.Locate('Kod',Edit1.Text,[loCaseInsensitive, loPartialKey])then
    ShowMessage('Запись не найдена');
 1:if not ADOTable1.Locate('printer',Edit1.Text,[loCaseInsensitive, loPartialKey])then
    ShowMessage('Запись не найдена');
 2:if not ADOTable1.Locate('Cartridge',Edit1.Text,[loCaseInsensitive, loPartialKey])then
    ShowMessage('Запись не найдена');
  end;
.
.
.
end;

Последний раз редактировалось Admin, 05.06.2011 в 17:35.
Ответить с цитированием
  #7  
Старый 05.06.2011, 17:11
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от s-mail
Спасибо большое за помощь) работает!!! немного потупил и готово)
вот код для интересующихся!

procedure TForm1.Button2Click(Sender: TObject);

begin
case Combobox1.ItemIndex of
0:if not ADOTable1.Locate('Kod',Edit1.Text,[loCaseInsensitive, loPartialKey])then
ShowMessage('Запись не найдена');
1:if not ADOTable1.Locate('printer',Edit1.Text,[loCaseInsensitive, loPartialKey])then
ShowMessage('Запись не найдена');
2:if not ADOTable1.Locate('Cartridge',Edit1.Text,[loCaseInsensitive, loPartialKey])then
ShowMessage('Запись не найдена');
end;
end;

рад помочь!:)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:32.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter