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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.10.2009, 20:31
letair letair вне форума
Прохожий
 
Регистрация: 21.09.2009
Сообщения: 33
Репутация: 10
По умолчанию Вывод SQL запроса

Вроде простой вопрос даж стыдно, но чего та везде пишут только как сам запрос составить ,а как выести его в какое либо поле никак не могу найти

Вот например я считаю сумму:

SELECT sum(Vznos) from lovepriz

Как сделать обработчик кнопки с выводом результата в Едит?

и как в DBGride оставить какую либо колонку или оставить какие либо записи строк по какому либо полю, например мужчин оставить по полю Pol='М' ?
Ответить с цитированием
  #2  
Старый 20.10.2009, 20:34
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1.
Код:
Edit1.Text := ADOQuery1.Fields[0].AsString;

2. Колонку - напрямую никак. Записи - фильтровать выборку. Можно через свойства Filter и Filtered. Можно через обработчик OnFilterRecord (кажется так).
Ответить с цитированием
  #3  
Старый 20.10.2009, 20:40
letair letair вне форума
Прохожий
 
Регистрация: 21.09.2009
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
1.
Код:
Edit1.Text := ADOQuery1.Fields[0].AsString;

2. Колонку - напрямую никак. Записи - фильтровать выборку. Можно через свойства Filter и Filtered. Можно через обработчик OnFilterRecord (кажется так).

Фильтром очень геморно, я делал фильтром , тект получался у меня по 5 страниц, т.к. там большой алгоритм с If Else Then получается. Через SQL эти 5 страниц можно уместить в 5 строк максимум. Вот и прошу подсказать как в таблицу вывести результат запроса
Ответить с цитированием
  #4  
Старый 20.10.2009, 20:55
letair letair вне форума
Прохожий
 
Регистрация: 21.09.2009
Сообщения: 33
Репутация: 10
По умолчанию

Код:
Edit1.Text := ADOQuery1.Fields[0].AsString;

Спасибо, это сделал
остается вопрос как выводить в таблицу результаты отбора по нужным мне полям
Ответить с цитированием
  #5  
Старый 20.10.2009, 21:52
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

letair, а каким образом ты условие пытаешься строить (ЧекБоксы, РадиоГрупы, КомбоБоксы) ?
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #6  
Старый 20.10.2009, 22:11
letair letair вне форума
Прохожий
 
Регистрация: 21.09.2009
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
Сообщение от Yurk@
letair, а каким образом ты условие пытаешься строить (ЧекБоксы, РадиоГрупы, КомбоБоксы) ?

ЧекБоксы и КомбоБоксы, причем выстраивал разные варианты через AND OR, чтобы отрабатывались все варианты отмеченных галочек и комбо, в общем текст получился на кучу страниц, в SQL же вроде проще отбор происходит, это если в SQL Мониторе, но оператор же туда не полезет, нужно в проге такую табличку и готовые кнопки с запросами
Ответить с цитированием
  #7  
Старый 20.10.2009, 23:39
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

маленький пример из того, как это делал я:
Код:
procedure TfFilter.btOKClick(Sender: TObject);
var
kDelim, cnt:integer;
dFilt:string;
begin
kDelim:=0;
dFilt:='';
DM.VIEW_DS.Filtered:=False;
DM.VIEW_DS.Filter:='';
for cnt:=1 to 3 do
   begin
   cb:=TCheckBox(FindComponent('b'+IntToStr(cnt)));
   if cb.Checked=True
      then
      begin
      ed:=TEdit(FindComponent('b'+IntToStr(cnt)+'ed'));
      Inc(kDelim);
      if kDelim>=2
         then dFilt:=' and '
         else dFilt:='';
      DM.VIEW_DS.Filter:=DM.VIEW_DS.Filter+dFilt+ed.Hint+' = '''+ed.Text+'*''';
      end
      end;
DM.VIEW_DS.Filtered:=True;
Close;
end;

P.S.: 1. Кол-во ЧекБоксов я знал заранее (3) ... поэтому вбил вручную (но можно и програмно посчитать)
2. Использовались ЧекБоксы и Едиты
3. Применялось только условие AND
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 20.10.2009 в 23:42.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter