Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2013, 16:22   #1
SPD
Пользователь
 
Регистрация: 30.11.2009
Сообщений: 41
Сообщение Фильтр по БД

Доброго времени суток...Простите может быть за банальный вопрос просто никогда не работал с БД, и вот понадобилось. Мне надо сделать фильтр по двум двум параметрам по дате и по фамилии. Отдельно все работает подскажите пож как сделать это вместе...

Код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM [_SNOW] WHERE [ID] LIKE '#39+combobox1.Text+#39);
ADOQuery1.Active:=True;
end;
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.sql.text:='SELECT * FROM [_SNOW] WHERE (TIME>:D1) AND (TIME<:D2)';
//ADOQuery1.params.parsSql(ADOQuery1.sql.text, true);
ADOQuery1.Parameters.ParamByName('d1').value:=DateTimePicker1.DateTime;
ADOQuery1.Parameters.ParamByName('d2').value:=DateTimePicker2.DateTime;
ADOQuery1.active:=true;
end;

просто когда делаю фильтрацию по Фамилии а потом по дате, то по дате оно начинает выбирать по всем полям заново что есть в БД. А не по одной уже выбраной фамилии... Буду рад любой информации.Заранее спс..))
SPD вне форума Ответить с цитированием
Старый 29.08.2013, 16:25   #2
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Объедините два Ваших условия через AND
ReportCube вне форума Ответить с цитированием
Старый 29.08.2013, 16:39   #3
SPD
Пользователь
 
Регистрация: 30.11.2009
Сообщений: 41
По умолчанию

а можно как то поподробнее пож...а то уже 2 дня голову ломаю...
SPD вне форума Ответить с цитированием
Старый 29.08.2013, 16:53   #4
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Может быть это поможет:
Код:
WHERE (TIME>:D1) AND (TIME<:D2) and [ID] LIKE '#39+combobox1.Text+#39
ReportCube вне форума Ответить с цитированием
Старый 29.08.2013, 17:03   #5
SPD
Пользователь
 
Регистрация: 30.11.2009
Сообщений: 41
По умолчанию

Большое спасибо...
SPD вне форума Ответить с цитированием
Старый 29.08.2013, 17:28   #6
SPD
Пользователь
 
Регистрация: 30.11.2009
Сообщений: 41
По умолчанию

вот возник еще вопрос возможно можете помочь разобраться с ДБЧартом? как построить график по двум столбцам по Х Дата по У Значение...

Последний раз редактировалось SPD; 29.08.2013 в 17:32.
SPD вне форума Ответить с цитированием
Старый 16.10.2013, 08:47   #7
Liite
позитиффф
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 34
По умолчанию

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

Код:
Qry1.Active := false;
Qry1.SQL.Clear;
Qry1.sql.text:='SELECT * FROM [smart] WHERE (data_zd>=:D1) AND (data_zd<=:D2)';
Qry1.Parameters.ParamByName('d1').value:=dtp3.DateTime;
Qry1.Parameters.ParamByName('d2').Value:=dtp4.DateTime;
{qry1.Open;
Qry1.Edit;
ds1.Edit;}
Qry1.Active := true;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 16.10.2013 в 10:33.
Liite вне форума Ответить с цитированием
Старый 16.10.2013, 09:07   #8
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

зачем имя таблицы в квадратных скобках?
Dozent вне форума Ответить с цитированием
Старый 16.10.2013, 09:12   #9
Liite
позитиффф
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 34
По умолчанию

ну я так думал что если без скобок, то он не поймёт что это имя таблицы..
но однако же он фильтрует, правда как то по своему...
Liite вне форума Ответить с цитированием
Старый 16.10.2013, 09:22   #10
Liite
позитиффф
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 34
По умолчанию

есть мысль что в запросе ему нужно указать, какие именно столбцы показывать, но как то оно попахивает чем то не тем мягко говоря...
Liite вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтр Трям Microsoft Office Excel 1 03.06.2012 14:21
Фильтр StdentOfCollege Помощь студентам 1 30.03.2010 17:32
Фильтр Машенька Microsoft Office Access 1 16.12.2009 20:27